mysql-5.7 innodb change buffer 详解
2024-08-22 22:45:57
一、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 进行精细控制:
----
最新文章
- session在本地可以正常使用,而在sae上却无法使用或者值为空的解决方法
- KVM切换器
- Python入门-引号
- 用switch判断月份的练习
- DIV+CSS 让同一行的图片和文字对齐
- [Unity Shader]光照模型对物体的假设
- Python爬虫入门教程 20-100 慕课网免费课程抓取
- Java 基于WebMagic 开发的网络爬虫
- Django 信号、中间件、i18n 专题
- Python Day5 模块 包
- mysql数据库优化(四)-项目实战
- 高性能JavaScript(DOM编程)
- Laravel 自定义创建时间、更新时间字段
- 如何使两台机器不通过密码连接起来(linux)
- svn: Can't convert string from 'UTF-8' to native encoding: 解决办法
- iis7 未注册framework4 导致 莫名的404错误
- 四则运算2+psp0
- 【Android】在build/envsetup.sh中添加自己的命令(函数)
- jquery基础 笔记二
- For input string: "null"
热门文章
- SqlServer 在查询结果中如何过滤掉重复数据
- iOS判断日期A是否在日期B到日期C之间
- 微信小程序 - switchTab传值
- JDBC五数据源和数据池(web基础学习笔记十一)
- HDU 3974 Assign the task(dfs时间戳+线段树成段更新)
- 〖Linux〗Android NDK调用已编译好的C/C++动态连接库(so文件)
- 〖Linux〗Clang/Clang++ for Android Binary/NDK build(二进制可执行文件/NDK编译)
- 从Java的堆栈到Equals和==的比較
- Linux下TCP最大连接数受限问题
- Filezilla开源FTP传输工具