MySQL 数据库的体系结构
InnoDB的体系结构
后台进程作用:
1:及时的把数据刷新到存储介质中
2:保证数据库发生异常时InnoDB可以恢复到正常状态
整体上跟Oracle非常的相似
后台进程:
1:Master Thread
把数据异步刷新到磁盘,保证数据的一致性。包括脏页的刷新、合并插入缓冲、undo的回收等
2:IO Thread
InnoDB大量的使用AIO(Async IO)来处理写IO请求,IO Thread主要负责这些IO请求的回调
InnoDB 1.0版本主要包括4个IO Thread:write、read、insert buffer、log IO Thread
Windows版本可以通过如下参数调整:innodb_read_io_threads和innodb_write_io_threads来调整read和write
#查看当前的InnoDB版本
mysql> SHOW VARIABLES LIKE ‘%innodb_version%‘ \G
#查看参数innodb_write_io_threads
mysql> SHOW VARIABLES LIKE ‘%innodb_write_io_threads%‘\G
#还可以通过SHOW ENGINE INNODB STATUS \G来观察IO Thread
mysql> SHOW ENGINE INNODB STATUS \G
3:Purge Thread
主要用来回收undo页,在事物提交之后,undolog可能不用了,就用它来回收。
mysql> SHOW VARIABLES LIKE ‘innodb_purge_threads‘\G
未完待续。。。