change buffering
change buffer包括insert buffering,delete buffering和purge buffering,通常执行随机io操作的sql语句导致的索引变化会被缓存起来,然后通过一个后台线程定期的写回,这些有序的索引值批量的写回比每次改变都写回高效的多,这个功能通过innodb_change_buffering和innodb_change_buffer_max_size选项设置;
change buffer
change buffer是记录二级索引在页中的改变的一种特殊的数据结构,这些改变受insert,update以及delete的影响。具有这些特征的change buffer被统称为change buffering,包括insert buffering,delete buffering和purge buffering;
一般改变的二级索引相关的页不在buffer pool中时才会被收集到change buffer中,如果这些页也被缓存到buffer pool中,那么这些改变将会被融合到buffer pool中,在系统空闲的或者缓慢shutdown的时候,InnoDB会执行purge操作并把索引页刷到磁盘;
物理上change buffer隶属于系统表空间,更多信息通过命令show engine InnoDB status查看;
阅读(1092) | 评论(0) | 转发(0) |