SQL server入门学习(二) WAL预写事务日志

预写事务日志

WAL预写日志算法是关系型数据库中,用以提供原子性和持久性的一系列技术。

在使用WAL的系统中,所有修改在提交前都要先写入log文件中。

如何将修改的数据写入磁盘?

1、SQL server维护一个缓冲区缓存,在必须检索数据时从其中读取数据页。

①在缓冲区缓存中修改数据页后,不会将其立刻写回磁盘,而是标记为“脏”数据;

2、在将数据页物理写入磁盘前,可以将其逻辑写入多次。

①对于每次逻辑写入,都会在记录修改的日志缓存中插入一条事务日志记录。

②在将关联的脏页从缓冲区缓存中删除并写入磁盘之前,必须将这条些日志记录写入磁盘。

③ 检查点进程定期在缓冲区高速缓存中扫描包含来自指定数据库的页的缓冲区,然后将所有脏页写入磁盘。 CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。

 

刷新页:将修改后的数据页从高速缓冲存储器写入磁盘的操作。日志记录将在刷新日志缓冲区时写入磁盘。只要事务提交或日志缓冲区满,就会进行刷新。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值