首页 > Web开发 > 详细

undo log,当前读和快照读,redo log----与mvcc

时间:2020-09-03 14:00:23      阅读:114      评论:0      收藏:0      [点我收藏+]

undo log,当前读和快照读,redo log

技术分享图片
2019.04.19 07:08:17字数 272阅读 665

Undo log

是什么

在操作之前,把需要操作的数据备份到undo log中,若查询数据就有undo log +不在undo log的数据(事务未提交之前)

作用

当rollback将数据恢复到原始之前类似于备份表,为了保证事务的原子性

Innodb使用undo log实现mvcc,从undo log读取旧版本的数据

例子

 

 
技术分享图片

当前读和快照读

简介

快照读

读取的是快照版本:undo +未修改的表的数据

普通的select

当前读

读取的是最新版本,通过锁机制来保证读取的数据无法被其他事务修改

如insert,delete,update, select .... lock in share mode,select .... for update等

Redo log

是什么

在操作完一条语句后,将最新的数据备份到redo log中

作用

为了事务的持久化,当执行完commit,若redo log写完了,则事务提交成功,将redo log写入表中是开启异步的线程执行的,若提交后突然断电,mysql可以用redo log中恢复数据

例子:

 
技术分享图片
 
 
0人点赞
 
sql

 

 

undo log,当前读和快照读,redo log----与mvcc

原文:https://www.cnblogs.com/fengff/p/13606840.html

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