首页 > 数据库技术 > 详细

MySQL中写操作

时间:2021-07-28 18:09:38      阅读:17      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 具体到操作流程:

当执行某个写操作的 SQL 时,引擎将这行数据更新到内存的同时把对应的操作记录到 redo log 里面,然后处于 prepare 状态。并把完成信息告知给执行器。

执行器生成对应操作的 binlog,并把 binlog 写入磁盘里。然后调用引擎的提交事务接口,变更 redo log 状态为 commit。

===》》》《《《《====

重做日志(redo log

位于存储引擎层的 redo log,它是用来记录在"数据页做了什么修改"的物理日志文件。

WAL 技术

提到 redo log,WAL 技术必然是绕不过去的,全称是 Write-Ahead Logging。也就是在同步磁盘前先写日志,然后系统再根据一定的策略将日志里的记录同步到磁盘里

二进制日志(binlog)

位于服务层的二进制日志文件 binlog

扮演的角色是存储逻辑日志的,所谓的逻辑日志就是指修改了什么,都会记录其中。

 

回滚日志(undo log)

在进行数据修改时,同时记录 undo log,即同时记录相反操作的逻辑日志。你可以理解为操作 update 的时候,写一条对应相反的 update 记录,操作 delete 的时候,写一条对应的 insert 记录。

 

MySQL中写操作

原文:https://www.cnblogs.com/KL2016/p/15070881.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!