常见mysql后台线程
1.IO THREAD
MySQL有很多后台线程
其中包括了负责IO的相关线程IO THREAD 1. 参数innodb_write_io_threads 写线程 默认四个,负责数据块的写入 2. 参数innodb_read_io_threads 读线程 默认四个,负责数据块的读取 上面两个参数高并发下,可以设置为8. |
2.Purge thread
作用: 真正的删除记录和删除undo log
1.清理删除后的数据页的空间(因为之前的删除只是打上删除标签,并没有正真删除), 2.清理undo 举例:表tb1中有记录pk=1,2,3; 此时delete from tb1 where pk=1; 1. 将pk=1的记录标记为删除(delete-mark,infobits),数据库中pk=1的记录此时还是存在的,空间并没有被释放,该操作为同步操作(SQL执行完,也就标记完成了)。 2. purge ,该部分为后台线程(purge线程)异步操作,会真正的删除该记录,且空间被释放。purge线程是系统自动的,无法人工控制。 标记为已删除的原因: 1. 该事物可能需要回滚,先作保留。 2. 当事物1去删除pk=1且没有提交时, 事物2应该要能看到pk=1的记录(事物的隔离性)。 过滤条件是聚簇索引: 1. delete – 将该记录标记为 delete-mark 。 2. update – 将该记录 先物理delete (聚簇索引里主键相同的行最多只能有1个),然后 insert (或者可以原地更新[in place update])(即使删除了,也可以通过undo进行还原)。 过滤条件是二级索引: 1. delete – 将该记录标记为 delete-mark 。 2. update – 将该记录标记为 delete-mark (索引列是columns + pk,即使是唯一索引更新也是和原来的不一样),然后 insert 。 为什么没有insert” 1. insert操作是不需要异步去purge,因为insert的记录之前是不存在的; 2. 不存在记录(未提交)是没有别的事物能引用到的,所以insert以后,对应的undo可以直接删除,而不需要等待异步. purge 总结: 1. delete-mark的记录最后会被purge线程回收,Purge会检测记录上是否有其他事物在引用undo,如果没有就可以删除。 2. innodb_purge_threads (5.6以后),可以设置的大一些,回收的速度会快一些。 innodb_purge_threads = 4 |
3.Insert-buffer
thread
负责insert buffer与辅助索引的合并操作。
4.redo-log
thread
负责重做日志缓冲的磁盘写入
5.Master
thread(主线程)
后台进程Master thread 里面有两种循环,再循环内可以调用其他线程进行相关的操作。 master 其内部几个循环(loop)组成:主循环(loop),后台循环(background 主循环有1s循环和10s循环. 1s循环即循环执行一次就sleep srv_master_thread loops: 745 srv_master_thread log flush 各种循环执行的次数,据此判断系统负载高低 |
常见mysql后台线程的更多相关文章
- mysql后台线程详解
1.mysql后台线程 mysql后台线程主要用于维持服务器的正常运行和完成用户提交的任务,主要包括:master thread,read thread,write thread,redo log t ...
- MySQL后台线程的清理工作
后台清理工作:脏页刷盘.undo回收 1.page cleaner thread:刷新脏页 2.purge thread:清空undo页.清理“deleted”page 一.innodb_page_c ...
- MySQL后台线程整理总结
本文整理自<MySQL技术内幕 InnoDB存储引擎> MySQL通过后台各种线程.内存池.文件交互来实现对外服务的,不同线程实现不同的资源操作,各个线程相互协助,共同来完成数据库的服务. ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
- 【温故而知新-万花筒】C# 异步编程 逆变 协变 委托 事件 事件参数 迭代 线程、多线程、线程池、后台线程
额基本脱离了2.0 3.5的时代了.在.net 4.0+ 时代.一切都是辣么简单! 参考文档: http://www.cnblogs.com/linzheng/archive/2012/04/11/2 ...
- InnoDB体系架构(一)后台线程
InnoDB体系架构——后台线程 上一篇已经了解了MySQL数据库的体系结构 这一篇除了介绍InnoDB存储引擎的体系架构外,同时进一步了解InnoDB的后台线程. InnoDB存储引擎是多线程的模型 ...
- C#夯实基础之多线程二:主线程、前台线程与后台线程
我们在<C#夯实基础之多线程一:初识多线程>一文中第二部分中指出,既然windows最终发展出了多线程模型,按理说,我们直接使用一个.NetFramework的线程类就可以直接撸代码了,但 ...
- 开源WinForms界面开发框架Management Studio 选项卡文档 插件 Office 2007蓝色风格 后台线程
Management Studio是我在WinForms小项目开发过程中搭建起来的一个插件式结构的应用程序框架,因为简单灵活又容易扩展,现在将它开源供读者参考. 跑起来的效果图如下所示,具备选项卡式多 ...
- HandlerThread 创建一个异步的后台线程
使用HandlerThread几大优点: 1.制作一个后台异步线程,需要的时候就可以丢一个任务给它,使用比较灵活; 2.Android系统提供的,使用简单方便,内部自己封装了Looper+Handle ...
随机推荐
- css选择器 兄弟选择器 相邻兄弟选择器 子元素选择器
1.兄弟选择器: ~ 该选择器会选择当前元素之后的所有相邻指定元素(具有相同父元素的兄弟元素): .p ~ li{ color: blue; } <div> <p class=&qu ...
- 反射(Reflection)
Java学习笔记--反射(Reflection) 关于反射 能够分析类能力的程序称之为反射(Reflection) 反射机制可以用来: 在运行时分析类的能力 在运行时检查对象,例如:编写一个适合所有类 ...
- 用Hugo在gitee上构建博客(Windows环境下)
目录 用Hugo在gitee上构建博客(Windows环境下) 1.为什么要用gitee? 2.安装git 3.安装Hugo 4.创建远程仓库 5.搭建博客 (以下所有命令都在git bash中输入) ...
- 论文学习笔记 - Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs
Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs 来源:IEEE TGRS 2020 下载:https://arx ...
- Vue踩坑日记-You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.
记录时间:2019年4月24日16:55:54 在build/webpack.base.conf.js文件中,注释或者删除掉:module->rules中有关eslint的规则
- codeforces#426(div1) B - The Bakery (线段树 + dp)
B. The Bakery Some time ago Slastyona the Sweetmaid decided to open her own bakery! She bought req ...
- JavaScript实现基于数组的栈
class StackArray { constructor() { this.items = []; } push(element) { this.items.push( ...
- codefroces中的病毒,这题有很深的trick,你能解开吗?
大家好,欢迎阅读周末codeforces专题. 我们今天选择的问题是contest 1419的C题,目前有接近8000的人通过了本题.今天这题的难度不大,但是真的很考验思维,一不小心就会踩中陷阱,我个 ...
- D. Road to Post Office 解析(思維)
Codeforce 702 D. Road to Post Office 解析(思維) 今天我們來看看CF702D 題目連結 題目 略,請直接看原題. 前言 原本想說會不會也是要列式子解或者二分搜,沒 ...
- 阿里云app原型设计
软件需求分析与系统设计 https://edu.cnblogs.com/campus/zswxy/2018SE 这个作业要求在哪里 https://edu.cnblogs.com/campus/zsw ...