1、等待SCH_M的操作一般是涉及DDL的语句
2、等待SCH_S的操作一定是它前面的操作还在执行DDL并持有SCH_M还没有结束
3、
重新生成索引online on有三个阶段,开始阶段占用表的一个S锁,索引操作的主要阶段占用表的一个意向共享 (IS)锁,结束阶段占用表本身的一个Sch-M锁
4、重新生成索引online on和删除索引它们的快结束阶段,如果这个快结束阶段的过程比较长,则会一直持有表对应的SCH_M锁,此时对该表执行WITH (NOLOCK)查询也被会阻塞。
5、ALTER INDEX REORGANIZE重新组织索引使用的系统资源最少,并且是联机操作。也就是说,不保留长期阻塞性表锁,且对基础表的查询或更新可以在ALTER INDEX REORGANIZE事务处理期间继续进行。
6、ALTER INDEX REBUILD重新生成索引会删除并重新创建索引。这可以联机完成,也可以脱机完成,重新生成索引联机执行(ON),则索引操作期间可以用此表中的数据进行查询和修改数据。默认为OFF。
7、ALTER INDEX REORGANIZE不会占用表本身的架构修改锁(SCH_M)
8、UPDATE STATISTICS会占用架构修改锁(SCH_M),但是占用的是表对应的MD的SCH_M而不是表本身的SCH_M
9、一旦某表的S锁被P1占用,则其后的会话P2如果需要占用表的SCH_M锁,则P2被P1堵塞,再其后的会话P3如果需要占用表本身的SCH_S比如select table,P3不堵塞,再其后的会话P4如果需要占用表本身的SCH_M或表对应MD的SCH_M,则P4被P2堵塞,这样就是P4被P2堵塞,P2被P1堵塞
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992994/viewspace-2749409/ ,如需转载,请注明出处,否则将追究法律责任。