CheckPoint¶
https://zhuanlan.zhihu.com/p/67416126 https://zhuanlan.zhihu.com/p/473326009 https://www.cnblogs.com/chenpingzhao/p/5107480.html
1 什么是 CheckPoint¶
Checkpoint 也叫做检查点,它的基本原理就是每隔一段时间把已经提交的事务数据以及其影响的数据写入硬盘。
2 CheckPoint 解决什么问题¶
解决以下几个问题: 1. 缩短数据库的恢复时间;当数据库发生宕机时,数据库不需要重做所有的日志,因为 Checkpoint 之前的页都已经刷新回磁盘。数据库只需对 Checkpoint 后的重做日志进行恢复,这样就大大缩短了恢复的时间。 2. 缓冲池不够用时,将脏页刷新到磁盘;数据库内存中存放在脏页数据,但内存不是无限大的,当内存占用达到一定阈值时,执行 CheckPoint,将内存脏页数据刷新到磁盘,释放脏页缓存空间。 3. 日志文件不可用时,刷新脏页。redo/undo 日志占用的磁盘空间也是有限的,当达到一定阈值时,执行 CheckPoint,将脏页缓存数据刷新到磁盘,日志文件 CheckPoint 前数据就不会再使用了,相应的也就释放日志文件空间。