資料庫鎖機制1 共享鎖

2021-08-28 05:21:28 字數 763 閱讀 3836

什麼是共享鎖:簡單來說就是該鎖鎖定的資源只能進行讀取,不能進行增刪改操作,直到該鎖釋放。

example 1:

請求1:select * from  tabletest

請求2:update tabletast set ....

資料庫執行請求1的sql語句,是select語句,資料庫會給該錶加上共享鎖,查詢的資料保持一致,這時如果請求1還沒釋放共享鎖,資料庫執行請求2的sql語句,是update語句,資料庫會給該錶加上排它鎖,但是同一資源共享鎖和排他鎖是不能共存的,所以請求2 只能等請求1執行完釋放共享鎖,這時請求2的update才能進行。

example 2:

請求1:select * from  tabletest

請求2:select * from  tabletest

資料庫執行請求1的sql語句,是select語句,資料庫會給該錶加上共享鎖,資料庫執行請求2的sql語句,資料庫也會給該錶加上共享鎖,這時請求1 不會阻塞請求2,因為同乙個資源共享鎖是可以疊加的,共享鎖與共享鎖相容。

example 3:

請求1:select * from  tabletest

請求2:select * from  tabletest

請求3:update tabletast set ....

資料庫執行請求1的sql語句,是select語句,資料庫會給該錶加上共享鎖,資料庫執行請求2的sql語句,資料庫也會給該錶加上共享鎖,請求3的update語句,只有等請求1,請求2的共享鎖都釋放掉,請求3的sql語句才會執行。

資料庫鎖機制

這段時間由於開發專案,重新學習了資料庫的併發控制和鎖機制。資料庫就是通過鎖機制來解決併發問題的。主要就是兩種鎖,共享鎖和排他鎖 也叫獨佔鎖 在執行select語句的時候需要給操作物件 表或者一些記錄 加上共享鎖,但加鎖之前需要檢查是否有排他鎖,如果沒有,則可以加共享鎖 乙個物件上可以加n個共享鎖 否...

資料庫鎖機制

這段時間由於開發專案,重新學習了資料庫的併發控制和鎖機制。資料庫就是通過鎖機制來解決併發問題的。主要就是兩種鎖,共享鎖和排他鎖 也叫獨佔鎖 在執行select語句的時候需要給操作物件 表或者一些記錄 加上共享鎖,但加鎖之前需要檢查是否有排他鎖,如果沒有,則可以加共享鎖 乙個物件上可以加n個共享鎖 否...

資料庫鎖機制

資料庫就是通過鎖機制來解決併發問題的。主要就是兩種鎖,共享鎖和排他鎖 也叫獨佔鎖 在執行select語句的時候需要給操作物件 表或者一些記錄 加上共享鎖,但加鎖之前需要檢查是否有排他鎖,如果沒有,則可以加共享鎖 乙個物件上可以加n個共享鎖 否則不行。共享鎖通常在執行完select語句之後被釋放,當然...