暂无图片
MySQL在事务执行过程中会产生哪两种Undo Log?
我来答
分享
2023-05-31
MySQL在事务执行过程中会产生哪两种Undo Log?

MySQL在事务执行过程中会产生哪两种Undo Log?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
北斗

在事务执行过程中会产生两种Undo Log:

1、insert的undo记录。insert是不需要Purge线程的,只要事务提交了,就可以丢掉回滚记录。

2、update的undo记录(delete也算在这里面)。delete实际上不会直接执行删除,而update是将delete对象打上delete flag标记,最终的delete操作是由Purge线程完成的。

    update Undo Log又分为两种情况,即判断update的列是否为主键。

    如果不是主键列,则在Undo Log中直接反向记录是如何update的,即update是直接进行的。

    如果是主键列,则update分两步执行,先删除旧的行,再插入新的数据。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏