mysql5.5新特性:innodb_change_buffering

5.5之前。這還不叫change buffer,而是insert buffer

當更新/插入的非聚集索引的數據所對應的頁不在內存中時(對非聚集索引的更新操作通常會帶來隨機IO),會將其放到一個insert buffer中,當隨後頁面被讀到內存中時,會將這些變化的記錄merge到頁中。當服務器比較空閒時,後臺線程也會做merge操作

 

insert buffer會佔用buffer pool,並且在非聚集索引很少時,並不總是必要的,反而會降低buffer pooldata cache的能力,5.5提供了參數innodb_change_buffering來對其進行控制

根據官方文檔的描述,主要包括以下幾個值:

1.all

The default value: buffer inserts, delete-marking operations, and purges.

2.none

Do not buffer any operations.

3.inserts

Buffer insert operations.

4.deletes

Buffer delete-marking operations.(包括deleteupdate操作)

5.changes

Buffer both inserts and delete-marking.

6.purges

Buffer the physical deletion operations that happen in the background


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章