2.innodb后台线程
innodb存储引擎架构
后台线程的作用:
刷新内存中的数据和写入磁盘的数据,并且在数据库异常时,innodb能恢复正常
内存池的作用:
维护内部使用的数据结构,缓存磁盘上的数据,重做日志(redo log)缓冲
redo log就是让数据库前滚,比如修改某个数据,没有修改成功,如果redo log中有记录,那么就可以使用redo log前滚
undo log就是让数据库回滚,比如修改某个数据,没有修改成功,放弃修改,undo log会记录该操作前数据库的状态,此时就可以使用undo log进行回滚
后台线程的组成
1.master thread:核心线程,异步刷新缓冲区的数据,保证数据一致
2.IO thread:innodb中大量使用异步IO,而IO thread的作用就是执行异步IO的回调(异步IO就是IO操作后,不阻塞,随后以状态的方式返回IO结果,并进行对应状态的处理)
查看IO thread的相关参数
show variables like 'innodb_%threads'\G
这三个参数表示读写线程和purge线程的数量
观察innodb的状态
show engine innodb status\G
显示的是过去31s的状态
可见当前MySQL实例的IO线程有一个insert buffer线程,一个log线程,4个读线程,4个写线程
3.purge thread
主要用来回收undolog所使用的undo页(就是回收undolog所占的内存和磁盘空间),因为数据库实例执行成功后,有些undolog就不需要了,需要回收
查看purge thread的个数(和上面一样)
show variables like 'innodb_%threads'\G
4.page cleaner thread
作用是刷新脏页(页就是磁盘或内存空间),关于脏页的说明见第三节
参考
《MySQL技术内幕,innodb存储引擎》
欢迎大家评论交流,作者水平有限,如有错误,欢迎指出
2.innodb后台线程相关推荐
- rocksdb原理_教你玩转MyRocks/RocksDB—STATISTICS与后台线程篇
0. Intro 在facebook的MySQL版本(以下称为MyRocks)中,RocksDB是可选的存储引擎.相比于InnoDB引擎,RocksDB的一个重要的优势是它使用更少的磁盘空间.在生产系 ...
- mysql innodbpurgethreads_MySQL后台线程的清理工作
后台清理工作:脏页刷盘.undo回收 1.page cleaner thread:刷新脏页 2.purge thread:清空undo页.清理"deleted"page 一.inn ...
- MySQL技术:后台线程清理工作
一.innodb_page_cleaners page cleaner线程从buffer pool中刷脏页的线程数量. 1.5.7新特性 1.5.6版本以前,脏页的清理工作交由master线程的: 2 ...
- 当进度对话框和后台线程处于活动状态时,如何处理屏幕方向变化?
我的程序在后台线程中执行一些网络活动. 在开始之前,它会弹出一个进度对话框. 该对话框在处理程序上关闭. 这一切都可以正常工作,除非对话框打开(并且背景线程正在运行)时屏幕方向发生变化. 此时,应用程 ...
- 14.6 设置后台线程
1.默认都不是后台线程, 通过setDaemon():方法来设置后台线程. 通过 对象.setDaemon(true);设置为后台线程,true表示是后台线程,false表示不是后台线程. 2.j ...
- Java前台线程与后台线程
Java前台线程与后台线程 上一篇博客在main()方法中,创建并启动了四个新的线程后,main()方法中的代码执行完毕,此时,方法会结束,main线程也就随之结束了 通过程序的运行结果可以看出,虽然 ...
- java中的后台线程、前台线程、守护线程区别
java中的后台线程.前台线程.守护线程区别 区别和联系 区别 联系 区别和联系 区别 后台线程和守护线程是一样的. 后台线程不会阻止进程的终止,而前台线程会, 可以在任何时候将前台线程修改为后台线程 ...
- c#后台线程更新界面
参考文章<C# 线程更新UI界面> 主窗口 public frmMain(){InitializeComponent();}/// <summary>/// 主窗口加载事件// ...
- winform 后台线程更新UI
//后台线程更新TextBoxprivate void SetTextBox(TextBox txt, string value){Action act = () =>{txt.Text = v ...
最新文章
- C# 调用C++ dll
- VS2010配置opencv2.4.9
- el-table中怎样设置标题栏颜色以及每一行颜色交替不同的效果
- Pots (BFS ➕ 输出路径)
- 尚硅谷的 ediary 笔记_干货分享 | 硅谷创新加速营第五讲教您合理规划融资需求 降低投资风险...
- IDEA太慢,喵喵要气死了
- 77-spark与storm比对与选型
- python官网安装程序的功能和特点_python介绍与安装(一)
- Android Studio 安装说明
- JProfiler12 最新使用教程
- uniapp小程序根据经纬度精确定位
- 视频会议中的AEC、AGC、ANS是什么?
- 【代码重构】临时字段(Temporary Field)-- 如何消除和处理代码中临时字段
- 自定义View - 仿QQ运动步数效果
- php户型图识别,5分钟教你马上看懂户型图
- 【Meetup讲师】您有一张社区认证讲师证书未领取,点击领取!
- 带视频教程|2.0升级版源码价值18500元的商业版游戏陪玩语音聊天系统源码
- 每日词根——count
- RichView 文档 段落 项目 ITEM
- php商城手机端省市显示,jQuery仿手机京东商城收货地址城市选择