溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL內部如何實現讀鎖和寫鎖

發(fā)布時間:2021-11-02 17:19:13 來源:億速云 閱讀:416 作者:小新 欄目:MySQL數據庫

這篇文章主要為大家展示了“MySQL內部如何實現讀鎖和寫鎖”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“MySQL內部如何實現讀鎖和寫鎖”這篇文章吧。

對于MySQL數據庫讀鎖和寫鎖的加鎖方式,通過使用LOCK TABLE和UNLOCK TABLE來實現對表的加鎖和解鎖。

具體鎖定類型如下:

READ     普通讀鎖定

WRITE    普通寫鎖定

UNLOCK   釋放鎖定請求的交互用鎖類型

IGNORE    當發(fā)生鎖請求的時候內部交互使用,在鎖定結構和隊列中并不會有任何信息存儲

READ WITH SHARED_LOCKS      在InnoDB中使用,語法為:select  .... lock in share mode;

READ_HIGH_PRIORITY    高優(yōu)先級讀鎖定

WRITE_LOW_PRIORITY    低優(yōu)先級寫鎖定,通過設置LOW_PRIORITY_UPDATE=1而產生

READ_NO_INSERT      不允許Concurrent Insert的鎖定

WRITE_ALLOW_WRITE    這個類型實際上就是由存儲引擎自行處理鎖定的時候,MySQL允許其他的線程再獲取讀或寫鎖定,即使有資源沖突,存儲引擎自行處理

WRITE_ALLOW_READ     這種鎖定發(fā)生在對表DDL操作時,MySQL可以允許其他線程獲取讀鎖定,因為MySQL是通過重建整張表然后再RENAME的方式實現該功能,因此這個過程表依然可以提供讀服務

WRITE_CONCURRENT_INSERT   正在運行Concurrent Insert時使用的鎖定方式,該鎖定進行時除了READ_NO_INSERT之外的其他任何讀鎖定請求都不會被阻塞

WRITE_DELAYED      在使用INSERT DELEAYED時發(fā)生的鎖定類型

WRITE_ONLY       當在操作過程中某個鎖定異常中斷之后系統內部需要進行CLOSE TABLE的操作,在這個過程中出現的鎖定類型就是WRITE_ONLY 

以上是“MySQL內部如何實現讀鎖和寫鎖”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI