mysql笔记-checkpoint

1. 为何需要checkpoint?

    为了协调cpu与磁盘速度的差距,mysql内部设计了缓冲池。页的的操作首先会在缓冲池中完成。然后按照一定机制刷新新版本的页到磁盘。 但是在数据刷新到磁盘前可能宕机等导致数据丢失,会在事务提交时 先写重做日志再修改页保证了事务的持久性。用checkpoint可以解决重做日志过大,导致数据库恢复时间过长 具体参考 checkpoint。

2. 发生checkpoint时机

    a. Master Thread 中的Checkpoint,大约以几秒或者每10秒的速度

    从缓冲池的脏页列表中刷新一定比例的页回磁盘,过程是异步的

    b. InnoDB要保证LRU列表中有足够的空白页,当没有足够的页,会从尾部移除一些页,如果

    有脏页,则进行checkpoint.

 c. 重做日志不可用

你可能感兴趣的:(mysql)