Innodb五大特性
1.insert buffer
2.double write
3.自适应哈希索引
4.异步io
5.邻接页刷新
1.insert buffer(change buffer)
作用:将非聚集索引上的DML操作从随机IO变成顺序IO,减少IO次数,提高效率
insert buffer使用的条件:
- 索引是辅助索引
- 索引是非唯一索引(如果是唯一索引,每次变更都要判断索引的唯一性,又产生了离散读取,使insert buffer失去了意义)
具体查看
show engines inndo status 过滤 Ibuf: size 1, free list len 14316, seg size 14318(插入缓冲区的总大小 页的数量X16KB), 466174 merges(已经合并的meregs数量) merged operations: insert 547399(插入记录被merge的次数), delete mark 42008(删除操作被merge的次数), delete 32055(更新操作被merge了多少次) 如果merges/merged的值等于3/1,则代表插入缓冲对于非聚集索引页的IO请求大约降低了3倍
change buffer
insert buffer的升级版,可以对DML都进行缓冲,insert ,delete,update,他们分别对应:insert buffer,delete buffer,purge buffer
对应参数
innodb_change_buffering:控制开启哪种buffer,可选值为:inserts,deletes,purgees,changes,all,none.
innodb_change_buffer_max_size:控制change buffer最大使用内存数量,默认25(内存的1/4)