关于X锁的问题--由select+X锁是否持有到事务结束的误区
前言:看了宋桑的文章《一次意外的X锁不阻塞问题》,结合本人的测试,说明一下我对select中使用X锁是否会持有到事务结束产生的误区;
详情不多说了,详见宋桑的《一次意外的X锁不阻塞问题》和《消失的共享锁》,对Select+X锁和Select+S锁的情况进行了解释。以下只描述我的测试;测试表结构及数据如下:
/****** Script for SelectTopNRows command from SSMS ******/
CREATE TABLE [test_a].[dbo].[tmp_byxl_01](id INT IDENTITY,flag int)
INSERT INTO [test_a].[dbo].[tmp_byxl_01](flag) VALUES(null)
go 7
UPDATE [test_a].[dbo].[tmp_byxl_01] SET flag=id SELECT TOP 1000 [id]
,[flag]
FROM [test_a].[dbo].[tmp_byxl_01] -------------------------------
id flag
----------- ----
1 1
2 2
3 3
4 4
5 5
6 6
7 7 (7 行受影响)
由于案例出自系统续费问题,业务采用的是调用存储过程的方式实现,因此每一次调用时,都是select+X锁的方式;这和上述文章中提到的“Select+X锁和Select+S锁”的情况不太相同
先说我的误区
误区:select中指定的X锁将在查询结束后立即释放,并不持续到tran结束
测试代码如下:
--Session_A
BEGIN TRANSELECT * FROM [test_a].[dbo].[tmp_byxl_01](xlock) WHERE flag=2
WAITFOR DELAY '00:00:10'
COMMIT--Session_B
BEGIN TRANSELECT * FROM [test_a].[dbo].[tmp_byxl_01](xlock) WHERE flag=2
COMMIT
由于两个tran都是申请xlock,在执行时,Session_A(spid=53)先执行,Session_B(spid=55)大约5秒后执行,通过SP_LOCK可以看到,spid=55申请X锁时被阻塞
aaarticlea/png;base64,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" alt="" />
从执行时间上看,spid(55)晚于spid(53)5秒左右开始,执行时间上基本吻合。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQsAAAAdCAIAAAAyz943AAAEQElEQVR4nO1au5GkMBBVKARBUURBBBgYBDEuFnVV614G1DkTw5i4hLF15mQwZ4DU3VKrATG7w+y16hm3GiT6857UEmce2rRpizfzagO0aTt1M78+fisUihh0D9GmTWqqEG3apGbunx8KhSIGVYhCIUEVolBIUIUoFBIWhdxut5ebotiO8+fr/BZutBwU8ng8Xm7cN2GsCpP1496BbWPK65PnTMT583V+CzdaLiukbczcKDOG0vj97klgybU20PJqgicpk8aqyKtpfr5uXf/UZWjUpc/Jr0sPNGzJGlO/VyFTl82WxwNCXLjWpuguu7J4QqwxCseK7TwyZKFoM6zOs265oJBLn0POgJ1DibLrnrRJHUo202iGqEIoyehjY1XkWUEIeulzFAIUkanLVhmWBFEhMTjveOqzQb70+b4sPhU0sKmIMCrkCU+eg0NMXjbEC3mIZPm2KgtUwSVvrBB3Ib6YEG4dlRTiuYF0OJP+Wvs+k0Q6MxApn4oUhWCbVzYH7PJQ0g1zC/+ehS9TCMuTCHnSh7D9m4bwlm9SCKR2rIq86m21AGxG6XQPI0JgmwSFOJZ4PlhZEtmEfroe8tPUZXhbM3VL4jVWhS180GxuR/bqt7CqRJFh9EMWFFRlMUoj+lkTOZevtjFZPyzuNAMUw2TawNmpy5BVyPHFgMDTJbxtQ2rFDRayPGE7XTWRMISlR4SihxUyonC7N7k/rU1of/AVEim74wqZHesoP0AYeKygkHhkoZyz+3WNxLl0tg1mFel3/wjM4BXCbzvkiBUGOT5wTSE2zrM25gjIzjJmx5YzsgDJhQprIcsTnjwiteQhrEJiFD2sEDQjhB5xV9K0ZwfhmaAQ5ozlnWe4fckFBR9jcArnhdD+SmlBF9HwoOVeZOeEiwq0uLIKiW4FzHUCBNn3ZbtC2FMceZfvrBcZL7Csp9vKsEN7yJEhnEK+bA8Jo09T7q/N1DJqh8tTEF+fkSy5cYPjmjBP8HZOIWNVhGUSo5B5IFJIyPs9e0jkws2jdcIeIiqEdRZlzYQJYj09opCQJ3LlnDAkppD1IbzlcYWMVWFlh6oCdJiGfY2PaWQPIQcDv6QJyeHfPLSNYQ4b96H0b/GCSyTwghMDsiqosqDGgwfQ+TtWrgRMtfGE7YIPcmy2YwphnR2rfvB441VZgafJCuF5wnWuUEsewspgVfYJCmF2ZIia8UpnOALCk+QcQvONfwr2O6IQ7yMJ6qHfQ/ilLutHXL3Yjyq4NLeTFHVZUN0GliPDwiNvhNPk/s0VLfSajglRyl3WapXFOwu5wFo1SMN+upMVwvOE6cR03z3E+1CGE8RQ8ZBC3h3e+ew1SLl6fu33kOfg/BZutPwnKyTxG9+zsVeoP/qb+huAV8j98+NN/flvcf58nd/CLZbr/35XKCSoQhQKCaoQhUKCKkShkGAef/8oFIoYVCEKhYR/hOcVwgZ6B5EAAAAASUVORK5CYII=" alt="" />
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATUAAAAaCAIAAABZ8FwEAAAEgUlEQVR4nO1bPZKzMAz1UTgEw3AKTkBBwSHSpqLJMZivyRm2pOUYO1vmBvkKsC1Z8k9YJ3F25HnFrsEgPetZstlVd2nSpJXa1LsNkCZNmrep2/dFIBCUCdGnQFAuRJ8CQbkQfQoE5ULdvi9fX19vt0OQjvLnq3wLP8XyXZ/3+/3tprwIS9eoaloeHTgOqr1mfuZBlD9f5Vv4BMu3CBkH5TR/2CQgoE/zJvyCuSUvNnfaGL32wMK6W+2dOI6Xrqm7dbu/H03/eq7AqNNUo6t7D0MBeT7Fa/W5nqvNcpYQ2nntVXM+PS2GXoRYREGu2M7MQzzR+Ai3c6uUGmbvwGsfunoYPn2epnoPR6ScuSXunaZah9TcGqnAOANP8OoThzi+bemaumqQPE5TDegA3K3nKhrfhxDUpw/GO4/wuM7TVEeWj2fqExN7FJ6IonHCB0/uIUmrXthyVbeDn5n05z+KhPrWapILnaUDyrGzCy02OSSkT4dZsApsksPrEwkjYwaQRFYc0Se0OVmfl9vc4mIhJYZy4Wn6ZOPEEzyZh/xWnxFmTEq49vn3OHF9Wt+Wrqm7SZcKVksgmMzNgBHoWECfRpYOEXpRQKKlZJkedGk9V3ARVf2IpnDpGl31gKfBLQSsnGk9D5hh1IuWM1Bi2TvZzugSw83XOKhqmnd3htluQ2xccs6u5woYABzfDSCe7vSOQ7BQZCxk44TtNJVUriE+nlO59YUcgskiTAuutmH49bmAyTYUm181IyA3+hhJ2n9aCs44Oq0s4diAPv3zagtpXSn1YGnYO8cBxjTqNz8QM3h98ikXb63Zzkiu9uhT87wpc2Mg7Cxjtm8xRcvfgShn44QPnmBoHRgSJT/GrS/kHLG4nGTZaiXlTzvxwLfQeuZQg6I8oE9mF+7sY7mcbOiD21dI1pYE9FVMJU4gdINtXqSfaY/HQGJh9elNg+whliOGUKXkzZ/M7h29y3XWYcYhlvU0rQD+Vf7MPiROfphbwgydaC4zv0if1iUccG5ewj5gagwpxElXD6y0YLOHBIHnkLdz+ly6hhaojD63gUCfVHWP5M8EfR7Ln0F9ss6CWVN0glhPf6NPGifhPUuuIXHyw9xGHL/21bQwU/ZMfS5do9chUBKAIxx73MrPqCd/og2hW0zS0HQP6MZBMZvM29y6R+3k4NR6wUkRWEXqW1td2xvAqY+vULy4OtF82nqE7/Q9LRxDMX2yzi7dNDvB59S3xNPD+uTjhOuMhNaBIR6eUy0n9jN4sT6ZWsjOmXL2pfbggT35cFM/vMSVH/gheG+te/D3T36Zr6YFzof+iAq3ZPohTd82eNUglgPD6EGLR1HozNmUi6SeZzofPr+N1re8s3Yu4HJs7GGOlA7rk48TphN+acs1hOU51XLnYzvr/sv1+elwjgregyMfe977/TMPyrcwt+Xs8X6Gzy1/Vp8H/6IgNx5dJv703w99AEqzfP//laJsEkRR/nyVb+FHWC7/XyYQlAvRp0BQLkSfAkG5EH0KBOVC3X/+CQSCMiH6FAjKxX/ljwjAB6HcjAAAAABJRU5ErkJggg==" alt="" />
这个测试验证了上述的误区。加在Select上的X锁持续到了tran结尾,因此才能阻塞其他进程的相同查询(也是Xlock)如此长的时间;
对于此类情况,一般应用的场景如商家的充值系统、抢购系统等
需要将大并发的环境转化为单一进程持有锁的情况(select是为了进行判断,如账户起始金额不能为负、或查询当前商品信息以防出现超售的情况)
对于此类问题,个人认为,增加Xlock进行查询,是为了有效的避免脏读,尽管增加pagelock的方式可以避免S锁的优化问题,但可能导致锁范围过大。
如果不存在普通S锁的查询,不添加pagelock提升锁级别,也是可以满足大并发需求的。
关于X锁的问题--由select+X锁是否持有到事务结束的误区的更多相关文章
- SQL SERVER锁(LOCK)知识及锁应用
提示:这里所摘抄的关于锁的知识有的是不同sql server版本的,对应于特定版本时会有问题. 一 关于锁的基础知识 (一). 为什么要引入锁 当多个用户同时对数据库的并发操作时会带来以下数据不一致的 ...
- 【转】锁(lock)知识及锁应用
sql server锁(lock)知识及锁应用转自:http://blog.csdn.net/huwei2003/article/details/4047191 关键词:锁提示,锁应用 提示:这里所摘 ...
- 【数据库系列】MySql中的select的锁表范围
由于InnoDB预设的是Row-Level Lock,只有明确指定主键的时候MySql才会执行Row lock,否则MySql将会执行Table Lock. 1.明确指定主键则是行锁 2.明确指定主键 ...
- 《mysql悲观锁总结和实践》-悲观锁
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持 ...
- 共享锁(S锁)和排它锁(X锁)
1 什么叫数据库共享锁[S]锁和[X]锁 共享锁[S锁] 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁.这保 ...
- 查看Oracle数据库被锁住的表,删除锁表的进程
锁表处理及查询 查看Oracle数据库被锁住的表,删除锁表的进程 1.查看被锁住的表 SELECT dob.object_name table_name, lo.locked_mode, lo. ...
- MySQL 笔记整理(7) --行锁功能:怎么减少行锁对性能的影响?
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 7) --行锁功能:怎么减少行锁对性能的影响? MySQL的行锁是在引擎层由各个引擎自己实现的.因此,并不是所有的引擎都支持行锁,如 ...
- web开发中的两把锁之数据库锁:(高并发--乐观锁、悲观锁)
这篇文章讲了 1.同步异步概念(消去很多疑惑),同步就是一件事一件事的做:sychronized就是保证线程一个一个的执行. 2.我们需要明白,锁机制有两个层面,一种是代码层次上的,如Java中的同步 ...
- (转)MySQL优化笔记(八)--锁机制超详细解析(锁分类、事务并发、引擎并发控制)
当一个系统访问量上来的时候,不只是数据库性能瓶颈问题了,数据库数据安全也会浮现,这时候合理使用数据库锁机制就显得异常重要了. 原文:http://www.jianshu.com/p/163c96983 ...
随机推荐
- 【C#基础】System.Reflection (反射)
在使用.NET创建的程序或组件时,元数据(metadata)和代码(code)都存储于"自成一体"的单元中,这个单元称为装配件.我们可以在程序运行期间访问这些信息.在System. ...
- Android开发--环境的配置
一 Android开发环境:JDK.eclipse ADT.海马模拟器或者夜神模拟器.配置之前先保证运行内存足够大,不然会导致运行卡. 二 JDK(不用安装) 1.jdk官方下载地址:http://w ...
- Hibernate day04笔记
整合log4j(了解) slf4j 核心jar : slf4j-api-1.6.1.jar .slf4j是日志框架,将其他优秀的日志第三方进行整合. 整合导入jar包 log4j 核 ...
- JavaScript 对象 之创建对象 学习笔记
假设我们有这样的一个需求:记录一个人的 名字和年龄,然后有个方法可以显示这个人的名字和年龄. 按照普通的方法,我们的代码应该是这样的: var person1 = new Object() , per ...
- 【译】为什么这样宏定义#define INT_MIN (-2147483647 - 1)?
2的32次方为2147483648*2,0~(2147483648*2-1)这是32位机上无符号整数代表的范围.而32机的int范围为-2147483648~+2147483647 stackover ...
- 自动化(Automation)兼容的数据类型
自动化(Automation)兼容的数据类型
- json 判断字段
1方式一 !("key" in obj) 方式二 obj.hasOwnProperty("key") //obj为json对象. 2获取不确定键的值 for( ...
- JS出现illegal character非法字符提示
引用js文件,js文件内的汉字在页面显示乱码 解决方式: a. 保持js文件编码与jsp页面编码格式一致: b. 在引入js文件时,在script中添加charset=""属性,指 ...
- /etc/hosts文件设置不对导致Jboss启动失败
Caused by: javax.management.MBeanRegistrationException: preRegister() failed: [ObjectName='jboss.rem ...
- MVC学习地址
http://www.cnblogs.com/n-pei/tag/Asp.net%20MVC/