mysql里什么是检查点、保存点和中间点?

2021-03-07 22:56发布

2条回答

检查点checkpoint:批量刷盘。

在一定程度上代表了刷到磁盘时日志所处的日志序列号(LSN)位置。标记重做日志中已经完成刷到磁盘的位置点,如果缓冲池中有很多重做日志,完全恢复需要1分钟,checkpoint可能标记到了第58秒的位置,这时数据库恢复只需要重做最后2秒里的数据日志,checkpoint缩短了数据库的恢复时间。


保存点savepoint:部分回滚。

事务回滚时可以只回滚到保存点,不需要回滚到起点。


中间点midpoint:中间插入。

最近使用的不放到LRU表头,而是根据配置放到一定比例处,这个地方叫做midpoint, midpoint之前的成为new列表,之后的成为old列表。在一定时间(innodb_old_blocks_time)内,读取数据不会old列表变new列表,过了这个时间,再读取,会old列表变new列表(pages made young)。innodb_old_blocks_time设置为0,读一次就能成为new列表;设置成大于0的值,必须读两次以上,才能成为new列表。



一周热门 更多>