我对表锁自动升级有几个问题,请确认或反驳:
lock_escalation事件的计数,按登录名进行分组,然后按表分组?例如:login1 - table1 - 11 login1 - table2 -5 login2 - table1 -29 等。
如果我没有弄错的话,扩展事件似乎只允许一个级别的分组。
发布于 2021-10-24 02:27:53
首先,我要说:只有当单个表上的锁数达到5,000,或者使用了40%的锁内存时,才会使用表锁。见文件获取更多详细信息。
考虑到这一点:
TOP或EXISTS),即使在大型表上也不会发生这种情况。表的总大小不重要,只有实际读取的行数。S锁与IX或X锁不兼容,DML会尝试其中一种锁,如UPDATE或DELETE。但是,仍然可以使用U锁,这意味着DML仍然可以找到要修改的行,但必须等待实际尝试修改。https://dba.stackexchange.com/questions/301565
复制相似问题