其他分享
首页 > 其他分享> > 提问式复习:图文回顾 redo log 相关知识

提问式复习:图文回顾 redo log 相关知识

作者:互联网

原文链接:提问式复习:图文回顾 redo log 相关知识

1、如何提升 redo日志 的写性能?

buffer pool可以利用「innodb_buffer_pool_size」指定总大小,利用「innodb_buffer_pool_instances」指定实例数,但是必须size大于等于1G才生效。

log buffer 可利用「innodb_log_buffer_size」指定 log buffer 的大小;一片连续的内存空间会被划分为N个512字节大小的block。

log file 可以利用「innodb_log_file_size」指定每个 log file 的大小,利用「innodb_log_files_in_group」指定一共多少个log file。

2、redo日志 何时写入log buffer?

详情可看下图:
redo-lsn-offset

3、log buffer 中的 redo日志 何时刷盘?

4、我们都知道每次写入 redo日志 ,都是以组为单位,那么我们怎么知道哪些是一组?

5、如何知道下一次redo日志改写到log buffer的哪个位置?

6、如何知道下次从log buffer的哪个位置开始刷入磁盘?

7、如何定位 log buffer 中的 redo日志 对应哪些被修改的数据页;在被修改的数据页中,如何定位到对应的是哪些 redo日志 ?

8、我们知道可以利用 lsn 知道有多少字节数的 redo日志 写入到 log buffer 中,那么我们能有变量对应的知道有多少字节数的 redo日志 被刷入磁盘中吗?

9、lsn 和 log file 的偏移量怎么对得上么?

详情可看下图:
redo-lsn-offset

10、log buffer 中的 redo日志 真的会在事务结束时立马刷回到磁盘中吗?

11、log file 都是循环使用,即可以覆盖,那么怎么判断是否可以覆盖?

12、系统崩溃重启,如何利用 redo日志 进行恢复?

13、恢复是扫描一个 redo日志 ,就进行一次恢复吗?

详情可看下图:
redo-恢复

14、恢复时,如何知道什么时候结束?

15、如何兼容脏页已经已经刷回磁盘,但是 redo日志 没有刷回磁盘的场景?

最后,祝大家国庆节快乐!

标签:log,lsn,buffer,日志,redo,block,图文
来源: https://www.cnblogs.com/Howinfun/p/15359777.html