mysql-5.7 innodb change buffer 详解
一、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 详解的更多相关文章
- MySQL数据库使用mysqldump导出数据详解
		mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数 ... 
- 【转】MySQL用户管理及SQL语句详解
		[转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ... 
- (转)总结之:CentOS 6.5 MySQL数据库的基础以及深入详解
		总结之:CentOS 6.5 MySQL数据库的基础以及深入详解 原文:http://tanxw.blog.51cto.com/4309543/1395539 前言 早期MySQL AB公司在2009 ... 
- (转)MySQL性能调优my.cnf详解
		MySQL性能调优my.cnf详解 https://blog.linuxeye.cn/379.html http://blog.csdn.net/orichisonic/article/details ... 
- MySQL 5.5: InnoDB Change Buffering
		To speed up bulk loading of data, InnoDB implements an insert buffer, a special index in the InnoDB ... 
- MySql绿色版配置及使用详解
		原文:MySql绿色版配置及使用详解 最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySq ... 
- MySQL数据库的各种存储引擎详解
		原文来自:MySQL数据库的各种存储引擎详解 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB ... 
- mysql数据库分区功能及实例详解
		分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解 一,什么是数据库分区 前段时间写过一篇 ... 
- C#自制Web 服务器开发:mysql免安装版配置步骤详解分享
		mysql免安装版配置步骤详解分享 1.准备工作 下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\ mysql-noinst ... 
随机推荐
- 搜狐视频Redis私有云平台CacheCloud
			一.CacheCloud是做什么的 CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone.Redis Sentinel.Redis Cluster)自动部署 ... 
- Iterable转List
			Iterable转List Iterable<Entity> geted = entityDao.findAll(); List<Entity> list = Lists.ne ... 
- MVC 之 属性详解
			一.System [AttributeUsage]:指定另一特性类的用法.无法继承此类. [CLSCompliant]:指示程序元素是否符合公共语言规范 (CLS).无法继承此类. [ContextS ... 
- STL与多线程+写时拷贝
			http://blog.csdn.net/liuxuejiang158blog/article/details/13251379 STL并不是线程安全的,当多个线程同时读取STL时没什么问题.当多个线 ... 
- PyQt5教程——菜单和工具栏(3)
			PyQt5中的菜单和工具栏 在这部分的PyQt5教程中,我们将创建菜单和工具栏.菜单式位于菜单栏的一组命令操作.工具栏是应用窗体中由按钮和一些常规命令操作组成的组件. 主窗口 QMainWindow类 ... 
- 文本框只支持数字、小数点、退格符、负号、Del键
			Public Function OnlyNumberAndDot(inKeyAscii As Integer) As Integer '函数说明:文本框只支持数字.小数点.退格符.负号.Del键 '入 ... 
- Windows删除无效服务
			W+R运行:regedit http://os.51cto.com/art/201208/354989.htm 
- nginx高性能webserver具体解释(1)--安装nginx
			1. 下载 本次使用nginx-0.1.2.3 版本号,下载地址 http://nginx.org/en/download.html 新公布版本号 http://nginx.org/download ... 
- 解决ios微信内置浏览器触发事件有问题方案
			你的问题原因是事件冒泡导致找不到或者找到多个事件导致的, 你这样去写! $(“#div1").on("click",".k1",function(){ ... 
- jsp页面获取集合的长度
			createTime--2016年10月12日16:20:02Author:Marydonjsp页面获取集合的长度 在jsp页面与js中不能通过${list.size}取列表长度,而是引入jstl ... 
