一条更新语句是如何执行的

更新语句设计到俩个重要的日志,redo_log 和binlog

一:redo_log

就是写日志,再写磁盘,分开操作,提升效率。redo_log日志如果满了,就要写道磁盘,有俩个指针,一个添加,一个写入磁盘,

即使异常重启也不会丢失数据

二:binlog

redo_log是innodb引擎特有的,而binlog是数据库server层的日志,相当于俩个系统的日志。

(1)redo_log是物理日志,binlog是逻辑日志

(2)redo_log是循环写,binlog是追加写,不覆盖

三:俩阶段提交,看图:

猜你喜欢

转载自www.cnblogs.com/hanguocai/p/10029542.html