【MySql】Change Buffer 写缓冲初识

大家好,我是 青峯!😉

今天分享的内容是mysql 内存结构中的 Change Buffer 。

欢迎关注,持续更新中...

mysql 官方文档 :https://dev.mysql.com/doc/refman/8.0/en/innodb-change-buffer.html

进入主题,带着以下问题逐一揭开 Change Buffer 的面纱😉:

📌Change Buffer 概念与作用?

📌Change Buffer 有什么特点?

💡 Change Buffer 概念与作用?🔽

正常进行增删改操作,先从磁盘读取数据到内存,修改内存后再刷新到磁盘,需要两次磁盘IO,面对频繁大量这些操作,按照此方式就限制了性能。为了提高修改操作的性能,InnoDB存储引擎引入 Change Buffer 写缓冲。Change Buffer 位于 Buffer Pool 中。

现在修改数据先从 buffer pool 寻找目标,找到就直接修改,如果找不到就先把增删改后的数据缓存到Change Buffer 中,待后面访问Change Buffer时,再从磁盘加载修改前的数据到Buffer Pool,把Change Buffer 页数据与Buffer Pool对应页数据合并完成修改操作。

💡 Change Buffer 有什么特点?🔽

只能缓存二级非唯一索引页,不适用唯一索引页。修改唯一索引数据时,都需要从磁盘找出数据判断重复,而Change Buffer是为了减少访问磁盘次数而出现,这就发生冲突,所以对于唯一索引就没必要使用Change Buffer了。

  • innodb_change_buffer_max_size:默认值25%,配置写缓存区占缓存区的比例,最大占50%
  • innodb_change_buffering:默认值all,配置哪些操作需要使用写缓存区 all | none | inserts | deletes | changes | purges
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值