Innodb中的线程
Innodb中的线程
-
Master Thread
Master Thread具有最高的线程优先级别,内部由多个循环组成:主循环(loop)、后台循环(background loop)、刷新循环(flush loop)、暂停循环(suspend loop),Master Thread会根据数据库运行的状态进行循环之间的切换。完成和其他线程间的统筹协调
- 刷新脏页到磁盘
- 将日志缓冲刷新到磁盘
- undo页回收
- 合并插入缓冲
-
IO Thread
异步处理请求。
-
Purge Thread
事务在提交之前,通过undolog(回滚日志)记录事务开始之前的状态,当事务被提交后,undolog便不再需要,因此需要Purge Thread线程来回收已经使用并分配的undo页。
-
Page Cleaner Thread
1.2.X版本以上引入,脏页刷新,减轻master的工作,提高性能。脏页就是内存中和磁盘中不一样的数据,当刷回磁盘后一致了,就叫干净页。
-
dump Thread
主从复制专用线程。由主机开启,向从机发送binlog中从机未同步的的sql。