一種特殊的數(shù)據(jù)結(jié)構(gòu),用于記錄二級(jí)索引中頁面的更改 。這些值可能來自 DML語句。涉及更改緩沖的一組特性統(tǒng)稱為更改緩沖,包括 插入緩沖、更新緩沖和刪除緩沖。
僅當(dāng)二級(jí)索引中的相關(guān)頁面不在緩沖池中時(shí),更改才會(huì)記錄在更改緩沖區(qū)中。當(dāng)相關(guān)索引頁被帶入緩沖池而相關(guān)更改仍在更改緩沖區(qū)中時(shí),該頁的更改將使用更改緩沖區(qū)中的數(shù)據(jù)應(yīng)用到緩沖池(合并)中。在系統(tǒng)大部分空閑或緩慢關(guān)閉期間運(yùn)行的清除操作會(huì)定期將新索引頁寫入磁盤。與將每個(gè)值立即寫入磁盤相比,清除操作可以更有效地為一系列索引值寫入磁盤塊。
物理上,更改緩沖區(qū)是系統(tǒng)表空間的一部分,因此索引更改在數(shù)據(jù)庫(kù)重新啟動(dòng)時(shí)保持緩沖。只有當(dāng)頁面由于某些其他讀取操作而被帶入緩沖池時(shí), 才會(huì)應(yīng)用(合并)更改。
存儲(chǔ)在更改緩沖區(qū)中的數(shù)據(jù)的種類和數(shù)量由 innodb_change_buffering和 innodb_change_buffer_max_size 配置選項(xiàng)控制。要查看有關(guān)更改緩沖區(qū)中當(dāng)前數(shù)據(jù)的信息,請(qǐng)使用 SHOW ENGINE INNODB STATUS命令。
以前被稱為插入緩沖區(qū)。
其余相關(guān)術(shù)語
page 頁面
MYSQL術(shù)語介紹:page
secondary index 二級(jí)索引
MYSQL術(shù)語介紹:secondary index
buffer pool 緩沖池
MYSQL術(shù)語介紹:buffer pool
system tablespace 系統(tǒng)表空間
MYSQL存儲(chǔ)引擎InnoDB(二十七):系統(tǒng)表空間