InnoDB MVCC 要点摘录
来源:互联网 发布:网络割接是什么意思 编辑:程序博客网 时间:2024/06/05 22:41
MVCC(多版本并发控制,MultiVersion Concurrency Control)
- 很多数据库都实现了MVCC,但是因为没有统一标准,实现细节不同,表现也不同
- MVCC可以认为是行级锁的一个变种,为了获得并发性能的同时,尽量减少加锁,管理锁带来的性能损耗
- MVCC是通过保存数据库记录的快照来实现的,也就是说,同一条记录,在使用MVCC后,可能在数据库的存储引擎中,对用多个记录,但是版本号不同(空间换时间),这就造成,不同事务,因为版本号不同,对同一记录在同一时间看到的数据可能不同
MVCC实现
- 通过在记录后增加隐藏的两列:行创建时间(行创建版本号),行过期时间(行过期版本号)来实现
- 当一个事务中读取数据时,只能读取到行创建版本号小于当前事务版本号,并且行过期版本号大于当前事务版本号的数据
- 当新增数据时,将当前事务版本号赋给行创建版本号
- 删除数据时,将当前事务版本号赋给行删除版本号
- 修改数据时,会创建一条新纪录,将当前版本号赋给新纪录的行创建版本号,同时将当前版本号赋给旧记录的行删除版本号
InnoDB
- InnoDB通过MVCC来支持并发,默认的隔离级别是可重复读,并且通过”间隙锁”(对索引的间隙加锁)来避免幻读的出现
阅读全文
0 0
- InnoDB MVCC 要点摘录
- InnoDB MVCC
- mvcc innodb
- MySQL InnoDB MVCC原理
- InnoDB MVCC浅谈
- MySQL InnoDB MVCC原理
- innodb mvcc理解
- MySQL InnoDB MVCC深入浅出
- innodb的MVCC功能
- 从InnoDB了解MVCC
- InnoDB MVCC浅谈
- mysql innodb mvcc理解
- mysql Innodb和mvcc
- InnoDB的MVCC
- innodb mvcc实现机制
- MVCC实现-MYSQL INNODB MVCC实现
- InnoDB中MVCC的实现
- InnoDB MVCC实现、Undo作用
- 八、python中的函数
- CCF 201609-2 火车购票
- 17.11.19日报
- 浮点型精度理解及存储原理理解
- android 開發常用的工具整理(整理中)
- InnoDB MVCC 要点摘录
- 从源码角度讲讲我对Android和Unity的热更so的理解
- ubuntu下搭建php(tp3.2框架)
- 【字符串处理】说反话
- 数据库索引类型及原理记要
- 《pandas入门》之基本数据结构
- 写了个类似TreeGrid的控件
- SQL explain信息说明
- [51Nod1528][Codeforces520E]加号分配-组合数学