首页 / 更多教程 / InnoDB存储引擎
InnoDB存储引擎
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了InnoDB存储引擎,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2180字,纯文字阅读大概需要4分钟。
内容图文
![InnoDB存储引擎](/upload/InfoBanner/zyjiaocheng/524/74cb021f61f349c5aaa62683ebfedcb1.jpg)
缩短数据库的恢复时间
缓冲池不够用时,将脏页刷新到磁盘
重做日志不可用时,刷新脏页
此外,当数据库缓冲池不够用,根据LRU算法会移除一些不常用的页,若此时的页为脏页则需要强制执行checkpoint。在这本书中作者把checkpoint分成了两种,Sharp Checkpoint和Fuzzy CheckpointSharp Checkpoint指:在数据库关闭的时候将所有的脏页进行刷新Fuzzy Checkpoint指:在数据库运行时候刷新,但是只刷新一部分的脏页
具体的Fuzzy Checkpoint可以分成4种: Master Thread CheckPoint,在Master Thread的过程中发生,以1~10s的速度从缓冲池中的脏页进行刷新回磁盘,而且这个是异步的操作。 FLUSH_LRU_LIST Checkpoint InnoDB引擎需要差不多100个空白页进行使用(这是前提),进行操作之前需要检查(TM的1.1X之前),如果没有100个空白页就需要进行对后面的一部分脏页进行CheckPoint,这就是 FLUSH_LRU_LIST Checkpoint
Async/Sync Flush CheckPoint 是重做日志中不可用的情况,这时需要强制将一些页刷新回磁盘。这时候的脏页是从脏页列表中选取的,若将已经写入到重写日志中带LSN标记为redo_lsn。
![InnoDB存储引擎 - 文章图片](/upload/getfiles/0001/2021/4/25/20210425012730820.jpg)
Master Thread工作方式1.0.X之间的Master Thread是最高线程优先级别,内部由多个循环组成:主键环、后台循环、刷新循环、暂停循环。Master Thread会根据情况进行切换。主循环是通过thread sleep来实现,这意味着每秒一次或者每10秒一次的操作其实是不准确的。在负载很大的情况下回有延迟,只能说大概在这个频率下。每一秒的操作包括:日志缓冲刷新到磁盘,即使这个事务还没有提交。合并插入缓冲。至多刷新100个InnoDB的缓冲池中的脏页到磁盘。如果没有用户活动,切换到background loop即使没有事务提交,引擎依然会重做日志的缓冲,将内容刷新到重做日志。合并插入缓冲不是每一次都发生会先去判断,前1秒的IO操作数据,如果小于5次就会发生,因为它认为当前是适合进行合并插入的。
InnoDB关键特性插入缓冲、两次写、自适应hash索引、异步IO、刷新相邻页
来自为知笔记(Wiz)
InnoDB存储引擎
标签:核心 过程 支持 算法 row 改变 content spl 系统
本文系统来源:https://www.cnblogs.com/SmartCat994/p/12989096.html
内容总结
以上是互联网集市为您收集整理的InnoDB存储引擎全部内容,希望文章能够帮你解决InnoDB存储引擎所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。