美文网首页
MySQL 快照读和当前读

MySQL 快照读和当前读

作者: 万物皆有序和公式 | 来源:发表于2020-06-17 11:28 被阅读0次

在MySQL读取数据时可以按照是否使用一致性非锁定读来分为快照读和当前读:
1、快照读:MySQL使用MVCC (Multiversion Concurrency Control)机制来保证被读取到数据的一致性,读取数据时不需要对数据进行加锁,且快照读不会被其他事物阻塞。
2、当前读:也称锁定读(locking read),通过对读取到的数据(索引记录)加锁来保证数据一致性,当前读会对所有扫描到的索引记录进行加锁,无论该记录是否满足WHERE条件都会被加锁。

在读提交和可重复读两种事务隔离级别下,普通的SELECT操作使用“快照读”,不会对数据加锁,也不会被事务阻塞。

在读提交和可重复读两种事务隔离级别下,使用“当前读”的操作包括:
1、SELECT LOCK IN SHARE MODE
2、SELECT FOR UPDATE
3、DELETE\UPDATE\INSERT INTO\REPLACE INTO

在可重复读事务隔离级别下,“当前读”读取到的时数据库最新的数据,而“快照读”读取到的数据是事务中第一次建立ReadView时的数据+事务中修改的数据。

相关文章

  • mysql的幻读处理机制

    当前与快照读 当前与快照读 mysql的幻读处理机制 参考Mysql(Innodb)如何避免幻读我在mysql 8...

  • MySQL 快照读和当前读

    在MySQL读取数据时可以按照是否使用一致性非锁定读来分为快照读和当前读:1、快照读:MySQL使用MVCC (M...

  • 快照读和当前读

    【MySQL】当前读、快照读、MVCChttps://www.cnblogs.com/wwcom123/p/107...

  • MVCC原理机制

    目录 背景 前提回顾什么是MVCC什么是当前读和快照读当前读,快照读和MVCC关系MVCC,乐观锁,悲观锁关系 M...

  • MVCC多版本并发控制

    前提概要什么是MVCC什么是当前读和快照读?当前读,快照读和MVCC的关系 MVCC实现原理隐式字段undo日志R...

  • MVCC多版本并发控制

    前提概要什么是MVCC什么是当前读和快照读?当前读,快照读和MVCC的关系 MVCC实现原理隐式字段undo日志R...

  • MySQL/InnoDB 的事务隔离级别和锁

    事务的隔离级别 读分为快照读和当前读。用 MVCC 可解决快照读的脏读、幻读问题,不需要上锁。 Read Unco...

  • MySQL-当前读、快照读、MVCC

    前言:事务的开启与提交模式 对于一个MYSQL数据库(InnoDB),事务的开启与提交模式无非下面这两种情况: 若...

  • mysql 幻读

    在说幻读之前,首先要提一下什么是当前读和快照读当前读像select lock in share mode(共享锁)...

  • Mysql基础——事务

    内容 事务事务基本知识事务特性如何实现的?快照读和当前读 分布式事务XA规范mysql基于XA实现的分布式事务my...

网友评论

      本文标题:MySQL 快照读和当前读

      本文链接:https://www.haomeiwen.com/subject/lmgjxktx.html