码迷,mamicode.com
首页 > 数据库 > 详细

mysql-5.7 innodb change buffer 详解

时间:2017-08-30 15:44:09      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:操作   sql   l数据库   服务器   功能   ...   change   没有   数据库   

一、innodb change buffer 介绍:

  1、innodb change buffer 是针对oltp场景下磁盘IO的一种优化(我也感觉这个不太像人话,但是它又非常的准确的说明

  innodb change buffer 的功能)

 

二、innodb change buffer 原理:

  对于insert ,update ,delete 操作一来要更新数据,二来要更新索引;如果要更新的索引页还没有在内存中,那么innodb

  不会急于把索引页调入内存,更新,再写回磁盘;它会先把对索引的更新这一动作先记录到innodb buffer pool中一块

  叫change buffer 的区域。那它什么时候写回呢? 目前来说有三种情况innodb会把change buffer 中的内容写入索引页

  情况1:  要更新的索引页被调入内存

  情况2:   服务器比较空闲

  情况3:   mysql 进入slow shutdown 的时候

 

三、innodb change buffer 可能会引起的问题:

  前面我们说过innodb change buffer 所使用的内存块是在innodb buffer pool中分出来的,而innodb buffer pool就是为了

  缓存数据,索引,undo ... .. 如果change buffer 过大了那么它就挤占了本来用于缓存数据,索引的内存,这样就可能引发

  mysql数据库的性能问题了。

 

四、对innodb change buffer 进行精细控制:

  

 

 

 

----

mysql-5.7 innodb change buffer 详解

标签:操作   sql   l数据库   服务器   功能   ...   change   没有   数据库   

原文地址:http://www.cnblogs.com/JiangLe/p/7452981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!