关于MySQL redo log,挖些坑,慢慢填
1. 为什么可以设置为多个redo log ? (innodb_log_files_in_group,默认值和推荐值都是2,我们线上设的统一为4);
2. 什么条件下会触发刷脏?除了master_thread\强制checkpoint以外,这个频率是否可以调整;
3. recovery阶段,bp是否启用。如启用,是根据my.cnf设置,占用一个特别大的内存吗?
4. redo log recovery阶段是否并行,是否可以并行?
5. 记录格式看清一种,记录及恢复阶段;
6. 环状的redo log file,如何标记环的开始和结束;
7. recovery阶段读入hash表及后续处理,串行 or 并行;
8. recovery阶段从redo log读入hash,一次读多少,总不能是无限制的读吧。。
9. mtr_commit流程,如何写入log_sys->buf,是先锁->memcpy->释放锁,还是先锁->预留空间->释放锁->memcpy? 可有优化空间?
10. log_sys->buf如何写出到文件中的。和9一块,即构成log_sys->buf的一进一出;
11. redo log的group commit实现。