利用索引提高并发性
来源:互联网 发布:linux rm rf 恢复 编辑:程序博客网 时间:2024/06/06 14:08
利用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,从而有效提高并发性
- 利用索引提高并发性
- 建立索引,提高并发性
- 利用索引提高查询效率
- 【多线程】利用多线程提高并发吞吐率
- 利用索引提高SQL Server数据处理效率
- 利用索引提高SQL Server数据处理效率
- 利用索引提高SQLServer数据处理的效率
- 利用索引提高SQL Server数据处理效率
- 利用索引提高SQLServer数据处理效率
- Informix数据库利用索引提高查询效率
- 利用sql索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- 利用SQL索引提高查询速度
- memset用法详解
- cgi文件下载
- 前些日子下载了微软的Win2003SP2,一起动发现频繁死机,解决方法如下
- FLEX内存释放优化原则
- 互联网安全险象环生 25大软件编程错误不可赦
- 利用索引提高并发性
- excel公式应用大全
- 去掉Firefox的自动缩放记忆(downmoon)
- 马修·连恩
- C#.NET程序打包
- IE和Firefox的js兼容性整理
- .Net线程问题解答
- IE和Firefox下event乱谈
- 报表服务 在客户端提交参数