Mysql Innodb儲存引擎

2021-10-01 14:43:51 字數 531 閱讀 7598

鎖:

參考資料

參考資料

行鎖: innodb的鎖是對索引加鎖,如果查詢到並沒有用到索引就會對錶進行加鎖

record lock:對單條記錄加上鎖

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

next -key lock: record lock+ gap lock,鎖定乙個方位並鎖定記錄本身

innodb會根據不同事務隔離級別會使用不同的演算法

mvcc:多版本控制

表鎖:例子:update from user set status = 0 where status =1

如果status 沒有加索引的話,會導致產生表鎖

隱式加鎖:

自增長鎖:

外來鍵鎖:

意向鎖:

如果沒有意向鎖,加表鎖時需要判斷每一條記錄是否加鎖(行鎖),效率低下,為了提高效率,當加行鎖時會給表加上意向鎖,這樣當我們加表鎖時,先判斷是否加了表鎖,再判斷是否有意向鎖 這樣就不需要遍歷所有行的鎖了

mysql InnoDB儲存引擎

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

MYSQL INNODB 儲存引擎

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

MYSQL InnoDB儲存引擎 鎖

目錄 鎖的型別 行級鎖 意向鎖 一種表級鎖 一致性非鎖定讀 innodb儲存引擎的預設設定 行鎖的3種演算法 死鎖 innodb儲存引擎實現了如下兩種標準的行級鎖 1 共享鎖 s lock 允許事務讀一行資料。select column from table lock in share mode 2...