我目前在SQL Server 2008中使用特定用户表频繁死锁时遇到麻烦.以下是有关此特定表的一些事实:
检查表格后sys.tables,我发现lock_escalation设置为TABLE
我非常想把这张桌子的lock_escalation转到,DISABLE但我不确定这会产生什么副作用.从我的理解,使用DISABLE将最小化升级锁从TABLE级别,如果与索引的行锁设置结合,理论上应该最小化我遇到的死锁..
根据我在确定锁升级阈值时所看到的,当单个事务获取5000行时,锁定似乎会自动升级.
在这个意义上,单笔交易意味着什么?单个会话/连接通过单独的更新/选择语句获得5000行?
或者是一个获取5000行或更多行的单个sql update/select语句?
非常感谢,btw,n00b DBA在这里
谢谢
正如问题所述,两者在性能方面有何不同,哪种情况更好?
或者这两个有同样的效果吗?如果适用,每种方法的优缺点是什么?
根据我的理解,重建索引也会导致其重建类似于收集统计数据(11g)
如何禁用和重新启用索引?它是否也会自动收集统计数据?
请注意,我问的是需要进行大量批量插入/更新的心态
非常感谢