12 | 为什么我的MySQL会抖一下? 前言 一条SQL偶尔特别慢,且场景难复现,原因? 做个比喻 粉板:redo log 掌柜的记忆: 内存 账本: 数据文件 脏页:内存数据页与磁盘数据页内容不一致 刷脏页: 将内存页写入磁盘 抖一下:可能实在刷脏页,平常执行很快的更新操作实在写内存和日志 什么情况会引发数据库的flush过程? 粉板满了,记不下了 (redo log写满了,系统停止所有更新操作) 尽量避免这种情况,全阻塞了,更新数跌为0 生意太好,掌柜要记不住了 (内存不足,要将脏页写到磁盘) 常态,要有控制脏页比例的机制来避免下面两种情况 要淘汰的脏页个数过多,导致查询的响应时间变长