innodb change buffer 初识
来源:互联网 发布:韩信守荆州 知乎 编辑:程序博客网 时间:2024/06/05 15:11
What
change buffering是MySQL5.5加入的新特性,change buffering是insert buffer的加强,insert buffer只针对insert有效,change buffering对insert、delete、update(delete+insert)、purge都有效。当修改一个索引块(secondary index)时的数据时,索引块在buffter pool中不存在,修改信息就会被cache在change buffer中,当通过索引扫描把需要的索引块读取到buffer pool时,会和change buffer中修改信息合并,再择机写回disk。
Why
目的还是为了减少随机IO带来性能损耗,说明白了:把随机IO尽量变成顺序IO。现在SSD盛行,在SSD上随机访问和顺序访问性能几乎差不多的情况下,change buffering特性不会带来多大的性能提升,但对于廉价的机械硬盘,这个参数还是能帮助提高性能的。
为什只针对二级非唯一索引有效?
因为change buffer设计,并不判断唯一性。如果判断唯一性,还需要将磁盘上未放到buffer pool的页加载到内存,再进行判断唯一性。而change buffer设计的初衷,就是为了当二级索引页不在内存时,不进行加载,先将其插入到change buffer的B+树中,最后merge到二级索引页中,减少多次随机IO的访问。
阅读全文
0 0
- innodb change buffer 初识
- innodb change buffer记录格式
- innodb之change buffer主动merge
- innodb之change buffer被动merge
- InnoDB关键特性之change buffer
- 14.2.5.5 Change Buffer
- mysql change buffer
- Innodb buffer pool struct
- innodb double buffer
- innodb insert buffer
- innodb insert buffer merging
- The InnoDB Buffer Pool
- innodb buffer pool
- InnoDB Buffer Pool 说明
- innodb buffer pool
- 14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering
- 14.6.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering
- 14.3.3 InnoDB Buffer Pool Configuration InnoDB Buffer Pool 配置:
- (13)where 、from、exists型子查询
- 士兵杀敌(二)
- R中的直方图和核密度图绘制
- Drying (二分)
- git 命令 —— checkout
- innodb change buffer 初识
- Java之泛型
- Django+MySQL+uwsgi+Nginx部署
- 更改MyEclipse/Eclipse的工作空间名字(workspace)
- Python:文件中每行开头加一个逗号‘,’
- SSO -单点登录的实现原理
- 通过WatchService检测文件状态
- java customConfig.properties文件读取数据
- 菜鸟笔记--软件测试--黑盒测试