MySQL 表鎖 行鎖 間隙鎖

2021-09-01 22:08:51 字數 359 閱讀 8021

表鎖:

表鎖有兩種模式:表共享讀鎖、表獨佔寫鎖

表共享讀鎖:讀鎖不會阻塞其他程序對同一表的讀操作,但阻塞寫操作,只有釋放鎖後其他程序才可以寫

表獨佔寫鎖:寫鎖會阻塞其他程序對同一表的讀和寫,只有寫鎖釋放後,其他程序才可以讀寫

簡而言之:讀鎖會阻塞寫,不阻塞讀;寫鎖阻塞讀和寫。

行鎖:只鎖住某一行或多行的讀寫操作,對同一張表的其他行不加鎖,使用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.什麼叫間隙鎖 當我們用範圍條件而不是相等條件檢索資料,...