事务提交但数据库崩溃时到底发生了什么

时间:2020-08-08 02:12:07

标签: database transactions

客户端将事务发送到数据库,如下所示:

begin transaction
sql1
sql2
sql3
...
end transaction (commit)

从我的角度来看,数据库将遵循以下步骤:

  • 第一步:一个接一个地接收命令
  • 第2步:在内存中一个接一个地执行命令
  • 第3步:将结果从内存保存到磁盘(重做日志)
  • Step4:在接收到提交命令时在日志中添加提交标志
  • 第5步:对客户的响应成功确认

我的问题:

  • 上面的描述正确无误吗?
  • 如果正确正确,那么在步骤4和步骤5之间数据库崩溃时会发生什么?在这种情况下,事务成功提交,但是客户端未收到提交成功确认。因此客户无法判断交易是否成功提交。

0 个答案:

没有答案
相关问题