作者回复: 好问题。
其实由于淘汰的时候,刷脏页过程不用动redo log文件的。
这个有个额外的保证,是redo log在“重放”的时候,如果一个数据页已经是刷过的,会识别出来并跳过。
作者回复: 抖得像过冬一样,😄👍🏿
你说得很对,第4点没错的,出现这种情况的时候,连change buffer的优化也没意义了
作者回复: 1) 这个是innodb 数据页总是,过百万是正常的,16K一个,Bufree pool size 16G 就是100万了
2)你这个例子就是io_capacity设太小了…
作者回复: Redo log里也是记的+9哦😄
作者回复: 对的。👍🏿
作者回复: 1. Redolog 的空间是循环使用的,无所谓释放。 对应的内存页会变成干净页。但是等淘汰的时候才会逐出内存
2. 好问题,前者
3. 不用记,重启了就从checkpoint 的位置往后扫。 如果已经之前刷过盘的, 不会重复应用redi log。 好问题
作者回复: 每个数据页头部有LSN,8字节,每次修改都会变大。
对比这个LSN跟checkpoint 的LSN,比checkpoint小的一定是干净页
作者回复: 嗯嗯,你说的对
写文章的时候,我还故意用变量,这样直接拷贝会出错,然后自己再写个路径,已经考虑了安全了😓
作者回复: LSN,每次写redo log都带的一个数字, 数据页上也有,对比大小的,因为太细节没有写到文章中。
作者回复: 👍🏿 常见的误用场景
作者回复: 每个页面有编号的。拿着编号去内存看,没有,就去磁盘
作者回复: 👍🏿
你领会到实践篇的“奥义”了😄
一边引入新知识点,一边应用前面的
作者回复: 理解准确👍
作者回复: 没有吧,怎么会破坏硬盘?我和以前同事一直这么用的呀…
你确定是这个命令导致的吗😓
作者回复: 准确