Mysql在哪些场景会flush脏页?

2023-10-27

我们在日常使用sql中,查询数据库反映的时间过长,这时候可能是flush脏页导致的,而脏页会什么时候触发呢?

当查询的数量太多,每次全量查询都会淘汰掉脏页从而触发磁盘的I/O操作户导致查询时间过长。

当innoDB的redo log满了后,这时候会占用内存优先刷新redo日志,执行flush吧数据刷到磁盘,腾出redo log空间。

系统内存不足时候,需要淘汰脏页给新的页使用。

当mysql系统认为空闲的时候,会刷新脏页到磁盘。

当mysql服务器正常关闭,会刷新脏页到磁盘。

脏页和干净页都是在内存里的,当磁盘上的数据与buffer pool里的数据不一致,这时候就是脏页。当内存里的数据写到磁盘后,内存和磁盘里的内容数据保持一致,则称为干净页。

Buffer pool的作用是干嘛的,是为了减少磁盘的I/O,innoDB不可能每次存入一条数据都对磁盘访问一次,因为磁盘的i/o相对于内存是非常慢的,所以在mysql服务器启动的时候,会申请个内存作用于buffer pool。(innoDB-buffer-pool-size)

因为有脏页和干净页的存在,所以有了free 链表 和 flush链表,以及lru链表,每次有新数据查询,总不能每次查找干净页,与是干净页同意放在free链表,修改数据的脏页统一放在flush链表。而每次不可能吧所有页都刷新到磁盘,为了减少磁盘刷新的频率,所以选一部分淘汰,这时候lru链表就出现了,这里面有热数据和冷数据,比例是3:7,因为innoDB查询会自动预读,来提高查询效率,这时候为了解决预读问题,第一次查询的数据会放入冷数据,如果在一个临界点,超过innoDB_block_time设置的时间,再查一次,则会放入热数据,冷数据的地方就会慢慢淘汰。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql在哪些场景会flush脏页? 的相关文章

随机推荐

  • uniapp 返回上一页 携带参数 修改上页面的参数

    uniapp 返回上一页 携带参数 修改上页面的参数 阐述 有些场景我们需要从A页面带着参数到B页面 然后再B页面去修改A页面的这个参数 实现的两种方式 第一种方式 ps 如果是uniapp封装的app 需要安装uniapp内置的调试器 如
  • elementUI的日期选择器获取选择时间的格式,获取时间戳等

    elementUI的日期选择器获取选择时间的格式 获取时间戳等 在使用日期选择器的时候 我们需要把时间进行格式化 然后再传给后端 比如传时间戳 value format timestamp
  • unity 第五期

    原题1 什么是单例 举一个游戏中使用单列的例子 答 单例 啊 那是一种内功心法 而且是行走江湖必备的一种最基本的内功心法 说到单例 我们得要把后面两个字补全 也就是单例模式 单例模式是传说中的23种设计模式之一 为什么DC老湿说其实内功心法
  • 2-2、java详述scope作用

    创建Java项目 一个类是Test类 包名com jd test 一个类是UserInfo类 包名com jd vo 还有一个application xml
  • 使用Python,Matplotlib显示RGB图像

    使用Python Matplotlib显示RGB格式的 图像 1 效果图 2 源码 参考 这篇博客将介绍如何使用matplotlib显示RGB图像 具体是使用matplotlib pyplot和mpimg来加载和显示图像 调用plt axi
  • 电机驱动详解--从原理到智能车驱动(DRV8701)

    目录 1 全H桥电路驱动电机原理 2 H桥工作模式 3 死区控制 1 全H桥电路驱动电机原理 从上图可以看出 电路是由四个NMOS管 一个motor 以及VCC GND所构成的 可以控制栅极的电平高低 来控制NMOS管的开通与关闭 所以可以
  • Jmeter 课程笔记(四)关联

    LR中有手动关联和自动关联 Jmeter中只有手动关联 自动关联准确性低 1 第一种关联方式 Http请求 右键 后置处理器 正则表达式提取器 将其放在生成想要关联的页面下 在页面中找到其位置复制当前区域 源码中有相似的值对该区域进行拓展复
  • vbs之createobject大全

    2007年10月30日 11 12 00 ADO对象ConnectionCommandRecordSetRecordStreamServer CreateObject Scripting FileSystemObject Server Cr
  • 【论文精读】CVRecon: Rethinking 3D Geometric Feature Learning For Neural Reconstruction

    今天读的是一篇发表在ICCV2023上的文章 试图使用mvs的方法来助力neural reconstruction 项目地址 点击前往 文章地址 点击前往 文章目录 Abstract 1 Introduction 2 Related Wor
  • React 开发用到的chrome扩展插件

    1 安装react developer tools开发工具 1 下载地址 https pan baidu com s 1eSZsXDC 下载好是一个crx 格式的文件 把下载后的 crx扩展名的离线Chrome插件的文件扩展名改成 zip或
  • Google colab 阻止自动掉线

    Google colab 可以免费使用GPU TPU等计算资源进行人工智能计算 但计算页面隔一段时间无操作之后就会自动掉线 之前训练的数据都会丢失 最后终于找到了一种可以让其自动保持不离线的方法 用一个js程序自动点击连接按钮 代码如下 f
  • 详细介绍下Rational Rose及其功能与优点

    Rational Rose是一款由IBM公司开发的商业软件工具 主要用于软件建模和设计 它支持多种软件工程方法 如面向对象分析和设计 OOA D 面向过程分析和设计 PPA D 数据流分析和设计 DFD 等 Rational Rose提供了
  • mysql5 存储过程

    MySql5 0以后均支持存储过程 最近有空 研究了一把这个格式 CREATE PROCEDURE 过程名 过程参数 特性 过程体CREATE FUNCTION 函数名 函数参数 RETURNS 返回类型 特性 函数体过程参数 IN OUT
  • UE 虚幻引擎项目启动快捷键

    1 Epic Games Launcher目录下找到UnrealVersionSelector exe 2 将UnrealVersionSelector exe添加到任务栏 鼠标右键点击 可以看到所有打开的UE项目 不限UE版本 鼠标左键点
  • IP反查域名

    IP反查域名 ip反查域名的三种方法 方法有很多 我这边只描述三种 也算是两种 1 在线网站 http stool chinaz com same 2 在线网站 https site ip138 com 3 工具 https github
  • 程序员如何实现财富自由?

    有国外的码农在论坛里提问 为了过上更好的生活我两年前移民到法国后 开始从事前端开发 我的月薪从当时的1 5万涨到现在的1 9万 这样的工资还算可以 但我觉得不够多 我在想为什么所有人都能赚大钱 而我作为码农 实在不知道该如何提高自己的收入
  • 给VMware Workstation 16 Pro中安装的Ubuntu 20.04.3 LTS安装VMware Tools

    安装VMware Tools 点击虚拟机 安装VMware Tools 如果之前安装过 则是 重新安装VMware Tools 之后启动虚拟机 在虚拟机中出现一个DVD光盘 如果没有 则点击虚拟机 可移动设备 CD DVD 设置使用ISO映
  • Linux任务前后台的切换 【转】

    文章来源 Linux任务前后台的切换 Shell支持作用控制 有以下命令实现前后台切换 1 command 让进程在后台运行 2 jobs 查看后台运行的进程 3 fg n 让后台运行的进程n到前台来 4 bg n 让进程n到后台去 5 k
  • 简单HTML网页制作 实例

    HTML网页制作 1 新建文本文档 以 html 结尾 2 用html网页逻辑器打开 这里我们用Sublime Text打开 Tips 使用 Tab 按键 那么就可以自动生成HTML文档模板 推荐大家使用的前端工具有 Vscode hbui
  • Mysql在哪些场景会flush脏页?

    我们在日常使用sql中 查询数据库反映的时间过长 这时候可能是flush脏页导致的 而脏页会什么时候触发呢 当查询的数量太多 每次全量查询都会淘汰掉脏页从而触发磁盘的I O操作户导致查询时间过长 当innoDB的redo log满了后 这时