MySQL內部實現讀鎖和寫鎖的具體鎖定型別介紹
對於MySQL資料庫讀鎖和寫鎖的加鎖方式,透過使用LOCK TABLE和UNLOCK TABLE來實現對錶的加鎖和解鎖。
具體鎖定型別如下:
READ 普通讀鎖定
WRITE 普通寫鎖定
UNLOCK 釋放鎖定請求的互動用鎖型別
IGNORE 當發生鎖請求的時候內部互動使用,在鎖定結構和佇列中並不會有任何資訊儲存
READ WITH SHARED_LOCKS 在InnoDB中使用,語法為:select .... lock in share mode;
READ_HIGH_PRIORITY 高優先順序讀鎖定
WRITE_LOW_PRIORITY 低優先順序寫鎖定,透過設定LOW_PRIORITY_UPDATE=1而產生
READ_NO_INSERT 不允許Concurrent Insert的鎖定
WRITE_ALLOW_WRITE 這個型別實際上就是由儲存引擎自行處理鎖定的時候,MySQL允許其他的執行緒再獲取讀或寫鎖定,即使有資源衝突,儲存引擎自行處理
WRITE_ALLOW_READ 這種鎖定發生在對錶DDL操作時,MySQL可以允許其他執行緒獲取讀鎖定,因為MySQL是透過重建整張表然後再RENAME的方式實現該功能,因此這個過程表依然可以提供讀服務
WRITE_CONCURRENT_INSERT 正在執行Concurrent Insert時使用的鎖定方式,該鎖定進行時除了READ_NO_INSERT之外的其他任何讀鎖定請求都不會被阻塞
WRITE_DELAYED 在使用INSERT DELEAYED時發生的鎖定型別
WRITE_ONLY 當在操作過程中某個鎖定異常中斷之後系統內部需要進行CLOSE TABLE的操作,在這個過程中出現的鎖定型別就是WRITE_ONLY
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2158325/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL樂觀鎖和悲觀鎖介紹MySql
- 【JavaSE】Lock鎖和synchronized鎖的比較,lock鎖的特性,讀寫鎖的實現。Javasynchronized
- MySQL MyISAM引擎的讀鎖與寫鎖MySql
- mysql鎖之三種行級鎖介紹MySql
- Mysql中S 鎖和 X 鎖的區別MySql
- 利用MySQL中的樂觀鎖和悲觀鎖實現分散式鎖MySql分散式
- Lock鎖之重入鎖與讀寫鎖
- MySQL資料庫鎖介紹MySql資料庫
- Go語言中的互斥鎖和讀寫鎖(Mutex和RWMutex)GoMutex
- 淺談Java中的鎖:Synchronized、重入鎖、讀寫鎖Javasynchronized
- 讀寫鎖
- 自旋鎖、阻塞鎖、可重入鎖、悲觀鎖、樂觀鎖、讀寫鎖、偏向所、輕量級鎖、重量級鎖、鎖膨脹、物件鎖和類鎖物件
- Java 種15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖等等...Java
- Java 種15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖等等Java
- 深刨顯式鎖ReentrantLock原理及其與內建鎖的區別,以及讀寫鎖ReentrantReadWriteLock使用場景ReentrantLock
- Java 中15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖,樂觀鎖,分段鎖,自旋鎖等等Java
- 讀寫鎖 ReentrantReadWriteLock 與 互斥鎖 的效率
- MySQL鎖(讀鎖、共享鎖、寫鎖、S鎖、排它鎖、獨佔鎖、X鎖、表鎖、意向鎖、自增鎖、MDL鎖、RL鎖、GL鎖、NKL鎖、插入意向鎖、間隙鎖、頁鎖、悲觀鎖、樂觀鎖、隱式鎖、顯示鎖、全域性鎖、死鎖)MySql
- java原始碼-ReentrantReadWriteLock寫鎖介紹Java原始碼
- Java併發基礎-鎖的使用及原理(可重入鎖、讀寫鎖、內建鎖、訊號量等)Java
- MySQL 死鎖和鎖等待MySql
- MySQL的共享鎖和獨佔鎖MySql
- 讀寫鎖 ReentrantReadWriteLock
- MySQL鎖(四)行鎖的加鎖規則和案例MySql
- Mysql鎖之行級鎖和表級意向鎖MySql
- 原子鎖和普通鎖的區別
- Lock介面、重入鎖ReentrantLock、讀寫鎖ReentrantReadWriteLockReentrantLock
- ReentrantLock基於AQS的公平鎖和非公平鎖的實現區別ReentrantLockAQS
- MySQL 全域性鎖和表鎖MySql
- Java併發-顯式鎖篇【可重入鎖+讀寫鎖】Java
- MySQL鎖問題分析-全域性讀鎖MySql
- ReentrantLock可重入鎖、公平鎖非公平鎖區別與實現原理ReentrantLock
- 2020最新的Spring Boot 分散式鎖的具體實現(內附程式碼)Spring Boot分散式
- Java中的讀/寫鎖Java
- mysql行鎖和死鎖檢測MySql
- Mysql 兩階段鎖和死鎖MySql
- mysql鎖之死鎖MySql
- ReentrantReadWriterLock原始碼(state設計、讀寫鎖、共享鎖、獨佔鎖及鎖降級)原始碼