MYSQL面試必問 INSERT BUFFER

2021-10-10 05:04:32 字數 1749 閱讀 4632

​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   |+-------------------------------+-------+
create table test1(id int auto_increment,name varchar(20),primary key(id),key(name))engine =innodb;select * from test1;id     name1      a2      c...10000    b...100000    d...1000000    einsert into test1(name) valuse(』c』);insert into test1(name) valuse(』d』);1000001    c1000002    d
首先了解下相關thread

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...