ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库抖动原因了解

2022-08-06 23:30:09  阅读:54  来源: 互联网

标签:log 抖动 数据库 flush 了解 内存 MySQL 磁盘 redo


转自:https://blog.csdn.net/nanchengyu/article/details/105627704

1.定义

一条SQL语句,正常执行的时候特别快,但是有时它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短,这样的情况我们一般称为数据库抖动。

内存数据页与磁盘数据页内容不一致的时候,则将内存数据页称为脏页,将脏页写回磁盘的过程称为flush。在MySQL中,引发flush的情况主要有以下几种:

  • InnoDB的redo log写满了。这时候系统会停止所有更新操作,把checkpoint往前推进,redo log留出空间可以继续写。在推进checkpoint时,需要把两点之间的日志中对应的脏页刷到磁盘中去。(应该是因为redo的log文件编号循环使用,文件用完了,就需要把之前的删掉了)
  • MySQL系统内存不足。当需要新的内存页将磁盘数据载入内存时,就需要淘汰一些内存页,这个过程可能涉及到flush。
  • MySQL认为系统“空闲”的时候。
  • MySQL关闭之前。

 

标签:log,抖动,数据库,flush,了解,内存,MySQL,磁盘,redo
来源: https://www.cnblogs.com/BlueBlueSea/p/16558196.html

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有