MYSQL二次写原理
数据库的二次写我看了很长时间,对其原理还是不是很清楚,希望这次弄懂,请大家指教
缓冲池的数据不是直接写入硬盘,而是先写入表空间中的一个地方,之后在写入硬盘,是为了防止出现坏页。
这是二次写的目的,但是我不太明白的是:
1:如果在第一次写之前,发生了断电的情况,就是没有写入二次写空间中,是不是就没法利用二次写的特性了?
2:表空间中的二次写空间有没有可能损坏?
3:为什么坏页这种情况,事务日志不能恢复?
4 : 利用二次写恢复坏页,是直接把二次写中内容复制到原先的页中,断电之后,二次写空间中的东西还有吗?
5:缓冲池中的数据是怎么写入二次写空间中,每隔多上时间刷新一次等?
6:如果发生坏页情况,为什么能利用二次写恢复,假如之前这个页没有发生过更改,第一次更改就发生了坏页,mysql
是怎么利用二次写恢复,还是无法恢复?
网上的许多资料都是讲二次写的目的什么,没有对其原理,工作流程做详细的介绍,希望大家帮助,共同讨论