美文网首页
2:一条SQL更新语句是如何执行的?

2:一条SQL更新语句是如何执行的?

作者: _River_ | 来源:发表于2020-11-22 12:41 被阅读0次

2:一条SQL更新语句是如何执行的?

redolog(重做日志):作为:酒店 黑板  账本  角色中的黑板

在酒店突然停电的情况下,可以保证黑板的内容不丢失,可以后续记录(提交)到账本,crash-safe能力。

binlog(归档日志):记录修改的SQL语句

区别:

redolog:空间有限,物理日志,在什么数据页上做了什么修改  

binlog:空间追加,逻辑日志,修改的原始语句

在执行器后的逻辑

redolog与binlog的先后提交问题?

redolog先提交,crash,主数据库修改:某行数据update成true ,binlog没有记录,使用binlog备份数据库,从数据库该行数据仍为 flase

binlog先提交,crash,binlog有记录为:某行数据update成true,redolog没有写,主数据库仍为flase,使用binlog备份数据库,从数据库该行数据为true

解决先后提交问题的方法:

redolog先设置为预提交,最后redolog与binlog一起提交

redolog :主要作为于更新主数据库,并防止主数据库的crash

binlog :主要作用于备份从库,或者恢复主数据库

相关文章

网友评论

      本文标题:2:一条SQL更新语句是如何执行的?

      本文链接:https://www.haomeiwen.com/subject/khjuiktx.html