原文:关于X锁的问题--由select+X锁是否持有到事务结束的误区

前言:看了宋桑的文章 一次意外的X锁不阻塞问题 ,结合本人的测试,说明一下我对select中使用X锁是否会持有到事务结束产生的误区 详情不多说了,详见宋桑的 一次意外的X锁不阻塞问题 和 消失的共享锁 ,对Select X锁和Select S锁的情况进行了解释。以下只描述我的测试 测试表结构及数据如下: 由于案例出自系统续费问题,业务采用的是调用存储过程的方式实现,因此每一次调用时,都是selec ...

2015-01-15 18:53 4 1231 推荐指数:

查看详情

一次意外的X不阻塞问题

最近有一个朋友问我一个关于给查询操作强制上X却不阻塞的问题。该查询写在一个存储过程中,代码如代码1所示: 1: create PROC [dbo].[GetCityOrders] 2: @city NVARCHAR(10 ...

Fri Jan 16 00:08:00 CST 2015 21 1946
SX,乐观和悲观

S:S也叫共享,读锁,数据只能被读取不能被修改. XX也叫排他,写锁,一个事务对表加锁后,其他事务就不能对其进行加锁与增删查改操作. 乐观:总是假设是最好的情况,每次去操作的时候都不会上锁,但在更新时会判断有没有其他操作去更新这个数据。 通俗讲就是我很乐观,我认为你拿走 ...

Fri Mar 26 18:41:00 CST 2021 0 269
mysql 的S X的区别

共享和排它锁 MySQL的系统:shared lock和exclusive lock(共享和排他,也叫读锁和写锁,即read lock和write lock) 读锁是共享的,或者说是相互不阻塞的 写锁是排他的,一个写锁会阻塞其他的写锁和读锁 在实际的数据库系统中,每时每刻都发生锁定 ...

Thu Mar 07 19:45:00 CST 2019 0 1422
mysql 的S X的区别

共享和排它锁 MySQL的系统:shared lock和exclusive lock(共享和排他,也叫读锁和写锁,即read lock和write lock) 读锁是共享的,或者说是相互不阻塞的 写锁是排他的,一个写锁会阻塞其他的写锁和读锁 在实际的数据库系统中,每时每刻 ...

Mon May 22 22:19:00 CST 2017 1 12696
共享(S)和排它锁(X

共享【S】又称读锁,若事务T对数据对象A加上S,则事务T可以读A但不能修改A,其他事务只能再对A加S,而不能加X,直到T释放A上的S。这保证了其他事务可以读A,但在T释放A上的S之前不能对A做任何修改。共享是造成上锁对象必须被大家共享,它排斥 排他,因此别的会话不能独占资源 ...

Sat Jul 23 23:51:00 CST 2016 0 2746
共享(S)和排它锁(X

共享【S】又称读锁,若事务T对数据对象A加上S,则事务T可以读A但不能修改A,其他事务只能再对A加S,而不能加X,直到T释放A上的S。这保证了其他事务可以读A,但在T释放A上的S之前不能对A做任何修改。 排他X】又称写锁。若事务T对数据对象A加上X事务T可以读A也可以修改 ...

Wed Apr 18 21:45:00 CST 2018 0 20324
mysql共享(S)和排它锁(X)

  mysql 可以分为表级和行级。 这里记录一下行级。   查看数据库是否事务自动提交:   两个事务都有的情况下只有同为共享(S)才不会造成阻塞。      如一个事务获取了一个数据行的排他,其他事务就不能再获取该行的其他。(没有机制的查询 ...

Thu Jun 27 19:49:00 CST 2019 0 1738
共享(S)和排它锁(X)

共享,又称为读锁,可以查看但无法修改和删除的一种数据。 中文名: 共享 外文名: Share Locks 其他用户: 可以并发读取数据 都不能获取: 数据 ...

Tue Apr 12 22:26:00 CST 2016 0 14894
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM