MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了建立索引,提高并发性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

 利用update锁住某行

begin tran

update  Product Set  NAME='bike' where ID=1

然后另外起一个会话

SELEct * from Product

SELEct * from Product where ID=1

SELEct * from Product  wherEID=2

问题是:

哪些语句是可以执行de?

y一般理解是,更新单行记录,sqlserver使用行锁。所以第一个和第二个语句都不能执行,但是第三个语句可以执行。

但是实际执行不是这样的,而是第三个也不能执行。

 

为什么呢?

因为该表没有建索引,所以SELEct语句会使用Table Scan来查询。而Scan的过程中,碰到一个行锁,于是开始等待。所以不能查询并不是因为表锁,而是因为Table Scan。

 

解决办法:

为ID建立索引,聚集索引和非聚集索引都可以。这样可以避免Table Scan,从而有效提高并发性

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/TheMoment_Rain/archive/2009/01/13/3766934.aspx

大佬总结

以上是大佬教程为你收集整理的建立索引,提高并发性全部内容,希望文章能够帮你解决建立索引,提高并发性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:s