Mysql InnoDB儲存引擎的鎖相關

2022-03-05 10:14:54 字數 588 閱讀 6314

mysql rr 為啥能隔離幻讀

innodb提供了一致性的非鎖定讀、行級鎖支援

lock 與latch

lock

行級鎖

意向鎖(事務在更細的粒度上加鎖)

一致性的非鎖定讀

一致性鎖定讀

自增長與鎖

外來鍵和鎖

行鎖的三種演算法

gap lock: 間隙鎖,鎖定乙個範圍,不包含記錄本身

*next-key lock: gap lock + record lock, 鎖定乙個範圍,並且鎖定記錄本身

innodb通過next-key lock避免了幻讀問題

所有隔離級別都實現了寫寫互斥

四種隔離級別

讀已提交(一致性的非鎖定讀)

可重複讀(一致性的非鎖定讀)

序列化死鎖

mysql InnoDB儲存引擎

innodb的組成部分 1.後台執行緒 2.儲存引擎記憶體池 innodb儲存引擎記憶體緩衝池 1.記憶體緩衝池 innodb是基於磁碟儲存的,並將其中的記錄按照頁的方式進行管理。因此,可將其視為基礎磁碟的資料庫系統。在資料庫系統中,由於cpu速度與磁碟速度之間的紅狗,基於磁碟的資料庫系統通常使用緩...

Mysql Innodb儲存引擎

鎖 參考資料 參考資料 行鎖 innodb的鎖是對索引加鎖,如果查詢到並沒有用到索引就會對錶進行加鎖 record lock 對單條記錄加上鎖 gap lock 間隙鎖,鎖定乙個範圍,但是不包含記錄本身 next key lock record lock gap lock,鎖定乙個方位並鎖定記錄本身...

MYSQL INNODB 儲存引擎

innodb 是事務安全的mysql儲存引擎,設計上採用了類似於oracle的架構。一般而言,在oltp的應用中,innodb應該作為核心應用表的首選儲存引擎。同時,也是因為innodb的存在,才使得mysql變得更有魅力。第一 innodb儲存引擎概述 innodb由innobase oy 公司開...