SQL Server何时获取锁?


10

此处找到的SQL Server隔离级别列表指出,在事务内获取的写锁将保留到事务结束。但是,它没有提及何时获得这些锁。

默认情况下是否在事务开始时或仅在需要时获取锁?如果后者为真,那么在大型事务中尽可能晚执行写操作以最小化持有X锁的时间量是否有利?

Answers:


5

默认情况下是否在事务开始时或仅在需要时获取锁?

在读取或写入发生之前立即获取锁。根据存储引擎选择的锁定粒度,可以在行,页面,分区或对象(表)级别获取锁。

如果后者为真,那么在大型事务中尽可能晚执行写操作以最小化持有X锁的时间量是否有利?

是的,根据并发事务使用的隔离级别,这对于并发可能是有利的。

相关阅读:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.