Chinaunix首页 | 论坛 | 博客
  • 博客访问: 351118
  • 博文数量: 166
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1640
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-05 11:44
个人简介

文章不在长,坚持不懈记录下努力前行的脚步

文章分类

全部博文(166)

文章存档

2017年(19)

2016年(59)

2015年(88)

我的朋友

分类: Mysql/postgreSQL

2015-06-15 16:38:34

可以认为MVCC是行级锁的一种变种,但是他在很多情况下避免了加锁操作,mvcc的实现是通过保存某个时间点的快照来实现的。
innodb的mvcc是通过在每行记录后面保存两个隐藏列来实现的,通过修改标志位来实现版本的控制。


start transaction1
select * from tablea;
select sleep(1000);
select * from tablea;
end transaction1;
第一个事务启动随后启动第二个事务;
start transaction2
delete from tablea where xxxx;
end transaction2

tracsaction1 按照高性能关于mvcc的描述第二次查询已删除行的系统版本号高于当前系统版本号,所以不能被检索出来,这不是违背了可重复读的原则了吗?
阅读(580) | 评论(0) | 转发(0) |
0

上一篇:1.3.3mysql事务日志

下一篇:1.5 MySQL存储引擎

给主人留下些什么吧!~~