Sql-Server

SQL Server 何時獲取鎖?

  • September 22, 2015

在此處找到的 SQL Server 中的隔離級別列表指出,在事務中獲取的寫鎖將保留到事務結束。但是,它沒有提及有關何時獲取這些鎖的任何資訊。

預設情況下,鎖是在事務開始時獲取,還是僅在需要時獲取?如果後者是真的,那麼在大型事務中盡可能晚地執行寫操作以最小化持有 X 鎖的時間量是否有利?

預設情況下,鎖是在事務開始時獲取,還是僅在需要時獲取?

在讀取或寫入發生之前立即獲取鎖。根據儲存引擎選擇的鎖定粒度,可以在行、頁、分區或對象(表)級別獲取鎖。

如果後者是真的,那麼在大型事務中盡可能晚地執行寫操作以最小化持有 X 鎖的時間量是否有利?

是的,它可能對並發有利,具體取決於並發事務使用的隔離級別。

相關閱讀:

引用自:https://dba.stackexchange.com/questions/90556