MYSQL 脏页刷新

起因

昨天看了CSDN推送的一篇《腾讯面试:一条SQL语句执行得很慢的原因有哪些?》

里面主要提到了
1.数据库在刷新脏页的时候会导致SQL很慢
2.锁的问题
3.sql本身的问题

下面主要对刷脏页理解,自己总结下

mysql 刷脏块的几种情况

1.redo日志切换

2.buffer pool不足

3.mysql 自己觉得空闲

4.mysql正常关机

上面的3,4两种情况可以忽略他们对性能的印象。

而 1,2两种情况都有可能会影响mysql整体的性能,其实两种情况的原因是一样的,刷脏页会占用大量的IO资源,会影响到你其他的sql。

第一种情况,redo写满了需要覆盖,覆盖前需要filush没有被写入磁盘的脏页,这种情况是要尽量的避免的,因为这种情况出现,整个系统会不在DML。在5.6之前可能还会阻塞查询。

第二中情况,内存不够了,需要为查询或者更新腾出对应的空闲页,这种情况很常见。

上面还会涉及很多的东西,比如检查点,LRU LIST,FLUSH LIST,FREE LIST .

影响

主要两个方面:

1.innodb_max_dirty_pages_pct

aac84db0f645dde6ffc4b8385d5a1a6e.png

2.innodb_io_capacity

3.innodb_adaptive_flushing(不建议关闭)

InnoDB uses an algorithm to estima

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值