亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

四個影響SQLSERVER鎖的申請和釋放的因素

標簽:
SQL Server

要影响SQLSERVER锁的申请和释放行为要考虑的因素

1、事务隔离级别的选定
事务隔离级别越高,隔离度就越高,并发度也就越差。如果选择了比较高的隔离级别,SQL不可避免地要申请更多的锁,持有的时间也会增加。

所以在设计应用的时候,一定要和用户谈好,尽量选择默认的隔离级别(read committed)

 

2、事务的长短和事务的复杂度
事务的长度和复杂度决定论这个事务在SQL内部会持续多长时间,也能决定SQL会同时在多少张表和索引上申请和持有锁。事务越简单,就越不

容易发生阻塞和死锁。所以这也必须和用户商量好,尽量避免在一个事务里做很多事情

 

3、从应用整体并发度考虑,单个事务一次处理的数据量不能过多
应用的性能,不单要衡量单个连接的处理速度,也要衡量在并发处理的情况下,整体的平均速度怎么样。从连接个体来讲,可能在一个事务里把

数据一次都处理掉比较快。但是如果处理的数据量很大,就会影响到其他连接同时访问同一对象。所以,如果一个应用的并发要求比较高,

就一定要严格控制单个事务处理的数据量。如果有什么事务操作需要访问或修改表格内的大量数据,最好调整到并发用户比较少的时候运行。

 

4、针对语句在表格上设计合适的索引
合适的索引能使SQL在读取尽可能少的数据量的前提下,把需要处理的数据找到。如果没有合适的索引,SQL在做select,update,delete的时候,

会申请比要处理的目标数据量多得多的锁,从而导致阻塞或死锁。这种情形可以通过加索引的方式提高并发度。同时,SQL在做update,insert,delete

的时候,会对有关联的所有索引都做修改,在她们上面申请锁。从这个角度讲,索引越多,产生的锁的数目也就越多,阻塞和死锁的几率也就会越高。

 

总结:

数据库设计员需要做的是要确保有足够的索引,防止语句做全表扫描,但是也要去掉那些对语句运行贡献不大的索引。不能随便往表格上加索引。

 

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消