码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Mysql】 InnoDB引擎深入- InnoDB后台线程


    下图是简单的一个InnoDB体系架构图,InnoDB存储引擎有多个内存快组成的内存池,负责如下工作:

    • 维护所有进程|线程需要访问的多个内部数据结构。

    • 缓存磁盘上的数据,方便快速的读取,同时在对磁盘文件的数据进行修改之前在这里进行缓存。

    • 重做日志

    • .....

                              

     

    后台线程的主要目的就是负责刷新内存池中的数据,保证缓冲池中的缓存数据时最近的数据。此外将已经修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常情况下InnoDB能恢复到正常状态。

    核心线程如下:

    Master Thread:是一个非常核心的后端线程,主要负责将缓冲池中的数据异步刷新到磁盘中,保证数据一致性。包括脏页的刷新、insert buffer、undo页的回收等。

    IO Thread: InnoDB引擎使用了大量的异步IO 来处理 写IO请求,这样可以极大的提高数据库的性能。而IO Thread线程主要就是这些IO请求的一个回调处理。

    Purge Thread:当事务被提交之后,用于回收可能不再需要的undolog所使用的页。

    Page Cleaner Thread:为了提高InnoDB引擎的性能,在1.2x版本引入该线程,主要用于将之前版本中脏页的刷新操作放入单独线程,目的为了减轻原Master Thread 线程的压力。

  • 相关阅读:
    【数据结构】链表的学习总结
    效率工具:“蓝色书签”文件管理工具免费使用
    nginx如何安装 以及nginx的配置文件
    设计模式入门
    IDEA报Error:java:无效的源发行版13解决方式
    java毕业设计南京新东方学校家校通系统源码+lw文档+mybatis+系统+mysql数据库+调试
    VSCode常用快捷键记录
    Effects of four feedbacks on input resistance, output resistance, and bandwidth
    [大家的项目] cargo-offline 命令
    WEB前端网页设计 HTML CSS 网页设计参数 - 【盒子模型】
  • 原文地址:https://blog.csdn.net/qq_31142237/article/details/125448556
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号