haloi 发表于 2018-10-11 09:23:41

mysql5.5新特性:innodb_change_buffering

  在5.5之前。这还不叫changebuffer,而是insert buffer;
  当更新/插入的非聚集索引的数据所对应的页不在内存中时(对非聚集索引的更新操作通常会带来随机IO),会将其放到一个insertbuffer中,当随后页面被读到内存中时,会将这些变化的记录merge到页中。当服务器比较空闲时,后台线程也会做merge操作
  但insert buffer会占用bufferpool,并且在非聚集索引很少时,并不总是必要的,反而会降低buffer pool做data 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.(包括delete和update操作)
  5.changes
  Buffer both inserts anddelete-marking.
  6.purges
  Buffer the physical deletionoperations that happen in the background

页: [1]
查看完整版本: mysql5.5新特性:innodb_change_buffering