innodb的mvcc

简介:

    一致性的非锁定读(consisten nonlocking read)是指innodb存储引擎通过行多版本控制(multi versioning)的方式来读取当前行时间数据库中行的数据

   innodb的读又分为快照读和当前读,其中select操作基本上是快照读,不加锁,

   当前读则包括:insert/update/delete以及select---for update和select---in share mode,当前读是要加锁的,根据隔离级别的不同,所加的锁也不同


   在事务隔离级别READ COMMITTEDREPEATABLE READinnodb存储引擎的默认事务隔离级别)下,innodb存储引擎使用非锁定的一致性读。然而,对于快照数据的定义却不相同。在READ COMMITTED事务隔离级别下,对于快照数据,非一致性读总是读取被锁定行的最新一份快照数据。而在REPEATABLE READ事务隔离级别下,对于快照数据,非一致性读总是读取事务开始时的行数据版本

目录
相关文章
|
6月前
|
存储 缓存 关系型数据库
⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制
⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制
210 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
1月前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
257 4
|
2月前
|
关系型数据库 MySQL 数据库
InnoDB 的 MVCC 实现原理
InnoDB 的 MVCC 实现原理
42 0
|
4月前
|
存储 关系型数据库 文件存储
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
47 2
|
存储 算法 Oracle
PostgreSQL的MVCC vs InnoDB的MVCC
PostgreSQL的MVCC vs InnoDB的MVCC
91 0
PostgreSQL的MVCC vs InnoDB的MVCC
|
算法 关系型数据库 MySQL
简述Mysql InnoDB的MVCC机制
简述Mysql InnoDB的MVCC机制
158 0
简述Mysql InnoDB的MVCC机制
|
存储 SQL 算法
MySQL InnoDB MVCC机制
MySQL InnoDB MVCC机制
221 0
|
SQL 存储 算法
InnoDB解决幻读的方案--LBCC&MVCC
InnoDB解决幻读的方案--LBCC&MVCC
194 0
InnoDB解决幻读的方案--LBCC&MVCC
|
监控 关系型数据库 MySQL
Innodb MVCC
mvcc标准机制 多版本并发控制(Multiversion concurrency control)。 当对数据进行写操作时,不允许对被操作数据进行读操作,这样会导致数据库并发性能低下。于是用mvcc在并发访问(读或写)数据库时,对正在事务内处理的数据做多版本的管理,以降低写操作的堵塞而引发读操作的并发问题。
1797 0