Async/Sync Flush Checkpoint
指的是redo log文件不可用的情况,这时需要强制将一些页刷新回磁盘,而此时脏页是从脏页列表中选取的
5.6版本后不会阻塞用户查询
Dirty Page too much Checkpoint 即脏页的数量太多,导致InnoDB存储引擎强制进行Checkpoint。
其目的总的来说还是为了保证缓冲池中有足够可用的页。
其可由参数innodb_max_dirty_pages_pct控制,比如该值为75,表示当缓冲池中脏页占据75%时,强制进行CheckPoint
总结
因为CPU和磁盘间的鸿沟的问题,从而出现缓冲池数据页来加快数据库DML操作
因为缓冲池数据页与磁盘数据一致性的问题,从而出现WAL策略(核心就是redo log)
因为缓冲池脏页的刷新性能问题,从而出现Checkpoint技术
InnoDB 为了提高执行效率,并不会每次DML操作都和磁盘交互进行持久化。而是通过Write Ahead Log 先策略写入redo log保证事物的持久化。
对于事物中修改的缓冲池脏页,会通过异步的方式刷盘,而内存空闲页和redo log的可用是通过Checkpoint技术来保证的。
更多相关免费学习推荐: mysql教程 (视频)
以上就是了解InnoDB的Checkpoint技术的详细内容!
查看更多关于了解InnoDB的Checkpoint技术的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did93328