InnoDB儲存引擎

2022-08-23 11:03:14 字數 769 閱讀 5745

1、innodb

2、innodb的體系架構主要包括兩部分:

(1)後台執行緒:負責重新整理記憶體池中的資料,以及將已修改的資料檔案重新整理到磁碟檔案。

包括master thread、io thread、purge thread、page cleaner thread等。

(2)記憶體池

包括緩衝池、lru list、free list、flush list、重做日誌緩衝(redo log buffer)、額外的記憶體池等。

3、innodb是基於磁碟儲存,最小管理單位是頁,讀操作時首先將從磁碟讀到的頁存放在緩衝池中(若頁已存在緩衝池中,則直接讀取緩衝池),寫操作時首先修改在緩衝池中的頁,然後通過checkpoint的機制重新整理回磁碟。

4、緩衝池中頁的型別有:索引頁、資料頁、undo頁、插入緩充、自適應雜湊索引、innodb儲存的鎖資訊、資料字典資訊等。

5、資料庫中的緩衝池是通過lru演算法進行管理的,innodb對lru演算法做了一些改造,在快取列表中加入了midpoint位置,每次讀取的新頁先放到midpoint位置,過一定時間再插入表頭,這樣做可防止熱點資料被某些準備工作刷出。

6、innodb關鍵特性:

(1)插入緩衝(insert buffer)

(2)兩次寫(double write)

(3)自適應雜湊索引(adaptive hash index)

(4)非同步io(async io)

(5)重新整理鄰接頁(flush neighbor page)

InnoDB 儲存引擎

innodb是事務型資料庫的首選引擎,支援事務安全表 acid 支援行鎖定和外來鍵。mysql 5.5.5 之後,innodb作為預設儲存引擎。innodb的主要特性有一下幾項。a.innodb給mysql提供了具有提交 回滾和崩潰恢復能力的事務安全 acid相容 儲存引擎。innodb鎖定在行級並...

InnoDB 儲存引擎

設計上採用了類似於oracle資料庫的架構 接下來 詳細介紹 innodb 儲存引擎的 體系架構 及其不同於其他儲存引擎的特性 一 概述 innodb 儲存引擎 是第乙個完整支援acid事物的 mysql 儲存引擎 特點 1 行鎖設計 2 支援mvcc 3 提供一致性非鎖定讀 4 最有效地利用 以及...

InnoDB儲存引擎

內外存交換的基本單位 mysql將資料從外存讀入記憶體不是以記錄為單位,這樣消耗太大,是以頁為單位,每個頁裡填充記錄。每頁大小為16kb。記錄堆 行記錄儲存區,分為有效記錄和已刪除記錄兩種 自由空間鍊錶 已刪除記錄組成的鍊錶 未分配空間 頁尾 儲存頁面校驗資訊 頁內的資料是按照主鍵的順序有序儲存的。...