insert buffer即合併插入快取,從mysql 5.1.x版本(innodb 1.0.x)開始引入changebuffer,是insert buffer公升級版,不僅包括insert buffer,還包括update buffer、delete buffer、purge buffer。
我們可以通過show engine innodb status看到insert buffer資訊。
一條命令解讀innodb儲存引擎—show engine innodb status
insert buffer適用物件:非唯一的輔助索引
insert buffer功能:使隨機io變順序io,提公升效能
mysql5.6(innodb 1.2.x)版本以後引入innodb_change_buffer_max_size引數,控制最大記憶體使用數量,預設25,表示最多使用1/4的緩衝池記憶體空間,該引數最大有效值為50。
(root@localhost)>show global variables like '%change_buffer%';
+-------------------------------+-------+
| variable_name | value |
+-------------------------------+-------+
|innodb_change_buffer_max_size | 25 |
| innodb_change_buffering | all |
+-------------------------------+-------+
首先了解下相關threadcreate table test1(
id int auto_increment,
name varchar(20),
primary key(id),
key(name)
)engine =innodb;
select * from test1;
id name
1 a
2 c
.
.
.
10000 b
.
.
.
100000 d
.
.
.
1000000 e
insert into test1(name) valuse(』c』);
insert into test1(name) valuse(』d』);
1000001 c
1000002 d
insert buffer的頻率
可能,1秒,需要判斷前1秒的io次數是否小於5,如果小於5則認為當前壓力較小,可以執行合併插入操作。
總是,每10秒,合併最多5個插入緩衝
面試必問之MySQL中的事務
什麼是事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。mysql事務的四大特性 acid 1 原子性 atomicity 事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事務執行過程 錯,會回滾到事務的開始前的狀態,所有的操作就像沒有發生一樣,也就是說事務是乙個不可分...
面試必問之 static
static常見用法三個,第乙個是和多檔案系統結合使用,決定是否可以被訪問。第二個是和變數初始化結合,乙個元素的初始化只能初始化一次,陣列初始化預設為0。1。多檔案結構中,static 對 variance fun的隱藏功能。static int i static void fun void fun...
面試必問之 const
主要用法如下 目錄 1.常量 常指標 常引用 2.修飾函式引數 2.修飾函式引數 3.修飾成員函式 const 常量不能改變 const int x 5 x 12 常指標不能通過指標改變變數的值,但是可以改變變數的指向。const 常指標 int x,y const int p x p 2 erro...