表鎖:
表鎖有兩種模式:表共享讀鎖、表獨佔寫鎖
表共享讀鎖:讀鎖不會阻塞其他程序對同一表的讀操作,但阻塞寫操作,只有釋放鎖後其他程序才可以寫
表獨佔寫鎖:寫鎖會阻塞其他程序對同一表的讀和寫,只有寫鎖釋放後,其他程序才可以讀寫
簡而言之:讀鎖會阻塞寫,不阻塞讀;寫鎖阻塞讀和寫。
行鎖:只鎖住某一行或多行的讀寫操作,對同一張表的其他行不加鎖,使用innodb儲存引擎,支援事務。
索引失效會導致行鎖變成表鎖。
間隙鎖:
當用範圍條件檢索資料並請求共享或排他鎖時,innodb會給符合條件的已有記錄的索引加鎖,對於在條件範圍內膽並不存在的記錄,叫做「間隙」,innodb也會對這個「間隙」進行加鎖
mysql間隙鎖 mysql間隙鎖
前面一文 mysql鎖 介紹了mysql innodb儲存引擎的各種鎖,本文介紹一下innodb儲存引擎的間隙鎖,就以下問題展開討論 1.什麼是間隙鎖?間隙鎖是怎樣產生的?2.間隙鎖有什麼作用?3.使用間隙鎖有什麼隱患?一 間隙鎖的基本概念 1.什麼叫間隙鎖 當我們用範圍條件而不是相等條件檢索資料,...
Mysql 行鎖 間隙鎖和next key鎖詳解
一 基本概念 innodb支援幾種不同的行級鎖,myisam只支援表級鎖 行鎖 record lock 對索引記錄加鎖。間隙鎖 gap lock 鎖住整個區間,包括 區間裡具體的索引記錄,不存在的空閒空間 可以是兩個索引記錄之間,也可能是第乙個索引記錄之前或最後乙個索引記錄之後的空間 next ke...
mysql 間隙鎖 mysql間隙鎖 轉
前面一文 mysql鎖 介紹了mysql innodb儲存引擎的各種鎖,本文介紹一下innodb儲存引擎的間隙鎖,就以下問題展開討論 1.什麼是間隙鎖?間隙鎖是怎樣產生的?2.間隙鎖有什麼作用?3.使用間隙鎖有什麼隱患?一 間隙鎖的基本概念 1.什麼叫間隙鎖 當我們用範圍條件而不是相等條件檢索資料,...