当前位置: 首页 » 网站建设 » mysql数据库知识 » 正文

mysql脏页指的是什么

发布时间:2025-01-03 以下文章来源于网友投稿,内容仅供参考!

在mysql中,当内存数据页和磁盘数据页上的内容不一致时,则称这个内存页为脏页。刷脏页的场景:1、当redo log写满,mysql就会暂停所有更新操作,将同步这部分日志对应的脏页同步到磁盘;2、系统内存不足时,需要淘汰一部分数据页,如果淘汰的是脏页,就要先将脏页同步到磁盘;3、MySQL认为系统空闲的时候,有机会就同步内存数据到磁盘,这种没有性能问题。

脏页(内存页)

    干净页:内存和磁盘中的数据一致

    脏页:内存和磁盘中的数据不一致

    为什么会出现 脏页

    平时很快的更新操作,都是在写内存和日志。他并不会马上同步到磁盘数据页,这时内存数据页跟磁盘数据页内容不一致,我们称之为脏页

    这里面就涉及 mysql 的内存管理机制

    内存管理机制简述

    缓冲区中包含这三大类列表。分别为:LRUListFreeListFlushList

    在数据库刚启动时,LRUlist中没有数据页。FreeList存放空闲页。

      当需要读取某个页时,会从FreeList中获取一个空闲页,读入数据后,放入LRUlist中

      如果FreeList中没有空闲页了,那么根据LRU算法淘汰Lru列表中末位的页

      当LRUlist中的页被修改后,页就变成了脏页,这个页也会被加入FlushList中

      注意:这时这个页既在LRUlist中,又在FlushList中。

      总结:LRUList(管理已经被读取的页)和FreeList(管理空闲的页)用来管理页的可用性;FlushList(管理脏页)用来管理脏页的刷新

      在脏页数据同步到磁盘过程中,如果对该磁盘数据页执行 SQL 语句。执行速度就会变慢

      数据修改和读取只依赖缓冲区行不行

      如果数据修改和读取只依赖内存的缓冲区,那么一旦数据库宕机,内存中的数据都会丢失。所以MySQL使用之前讲过的redo log来实现异常重启的数据恢复。

      简单来说,就是在更新缓冲区之前,先写入redo log,保证异常重启之后可以正常恢复缓冲区中的数据。

      为什么脏页一定要刷新

        上面说了 数据只放在缓冲区,会出现数据库宕机,内存数据丢失。所以需要刷新到磁盘。

        redo log如果无限大或者有许多个文件的话,系统中有大量的修改操作,一旦宕机,恢复的时间也会非常长。

        所以自然而然,我们就一定需要把内存中的脏页按照某种规则刷新到磁盘中,有了刷新这个操作,缓冲区的大小问题和redo log的大小问题都可以解决。

          缓冲区不需要无限大了,因为可以持久化到磁盘

          redo log也不需要无限大了,因为一旦持久化到磁盘,redo log中对应的那部分数据就可以释放。

          刷脏页有下面4种场景

          undefined会造成的影响

          如果是 redo log 写满了

          要尽量避免redo log 写满。否则整个系统的更新都会停止。此时写的性能变为 0,必须等待该日志对应脏页同步完成后才能更新,这时就会导致 sql 语句 执行的很慢。

  • • MySQL备份与恢复策略是什么

    MySQL备份与恢复策略是确保数据库数据安全和业务连续性的关键。以下是一些常见的备份与恢复策略:备份策略全量备份:备份整个数

  • • 如何配置MySQL主从复制

    配置MySQL主从复制涉及多个步骤,包括设置主服务器、从服务器以及确保数据同步。以下是一个基本的步骤指南:1. 准备环境主服务器

  • • 如何监控MySQL服务器性能

    监控MySQL服务器性能是确保数据库高效稳定运行的关键。以下是一些常用的监控方法和工具:监控方法查询性能指标:关注查询的执行

  • • MySQL事务处理如何保证数据一致性

    MySQL事务处理通过使用ACID(原子性、一致性、隔离性和持久性)原则来保证数据一致性。下面详细解释这些原则以及如何在MySQL中实

  • • MySQL日志文件的作用和管理方法

    MySQL日志文件在数据库运维中起着至关重要的作用,它们帮助数据库管理员进行故障排查、性能优化和数据恢复等。以下是MySQL日志文

  • biubiu加速器
    九游优盟游戏推广平台
    九游推广联盟
    digdig游戏入口
    4999小游戏大全
    九游游戏网
    站长素材
    植物大战僵尸杂交免费版
    站长之家
    测速网在线测网速
    354211邮编查询,354211邮政编码查询
    354209邮编查询,354209邮政编码查询
    353132邮编查询,353132邮政编码查询
    354215邮编查询,354215邮政编码查询
    353121邮编查询,353121邮政编码查询
    354213邮编查询,354213邮政编码查询
    353125邮编查询,353125邮政编码查询
    354201邮编查询,354201邮政编码查询
    353101邮编查询,353101邮政编码查询
    354200邮编查询,354200邮政编码查询