好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

了解InnoDB的Checkpoint技术

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技术的详细内容...

  阅读:44次