Lazy Writer&CheckPoint
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lazy Writer&CheckPoint相关的知识,希望对你有一定的参考价值。
Lazy Writer存在的目的是对缓冲区进行管理。当缓冲区达到某一临界值时,Lazy Writer会将缓冲区内的脏页存入磁盘文件中,而将未修改的页释放并回收资源。
CheckPoint或Lazy Writer通过将日志文件末尾的LSN号和缓冲区中数据文件的LSN进行对比,只有缓冲区内LSN号小于日志文件末尾的LSN号的数据才会被写入到磁盘中的数据库。因此确保了WAL(Write-Ahead logging在数据写入到数据库之前,先写入日志)。
CheckPoint会将所有缓冲区的脏页写入磁盘,不管脏页中的数据是否已经Commit。这意味着有可能已经写入磁盘的“脏页”会在之后回滚(RollBack).不过不用担心,如果数据回滚,SQL Server会将缓冲区内的页再次修改,并写入磁盘。
恢复间歇的默认参数是0,意味着由SQL Server来管理这个回复间隔。而自己设置恢复间隔也是需要根据具体情况来进行界定。更短的恢复间歇意味这更短的恢复时间和更多的磁盘IO,而更长的恢复间歇则带来更少的磁盘IO占用和更长的恢复时间.
以上是关于Lazy Writer&CheckPoint的主要内容,如果未能解决你的问题,请参考以下文章
Java I/O---Reader & Writer(字符流)
System.Lazy<T> 如何访问 T 的私有构造函数?
IPC 经典问题:Reader & Writer Problem