MySql45讲-08.事务到底是隔离的还是不隔离的?(结合MVCC视频)

命令的启动时机

begin/start transaction 命令并不是一个事务的起点,在执行到它们之后的第一个操作InnoDB表的语句,事务才真正启动。如果你想要马上启动一个事务,可以使用start transaction with consistent snapshot 这个命令。

事务的版本



对于一个事务视图来说,除了自己的更新总是可见以外,有三种情况:

  1. 版本未提交,不可见;
  2. 版本已提交,但是是在视图创建后提交的,不可见;
  3. 版本已提交,而且是在视图创建前提交的,可见。
    读提交的逻辑和可重复读的逻辑类似,它们最主要的区别是:
    在可重复读隔离级别下,只需要在事务开始的时候创建一致性视图,之后事务里的其他查询
    都共用这个一致性视图;
    在读提交隔离级别下,每一个语句执行前都会重新算出一个新的视图。
相关推荐
土星碎冰机11 分钟前
数据库开启ssl
数据库·网络协议·ssl
卓码软件测评21 分钟前
第三方软件测评机构:MongoDB分片集群写入吞吐量与延迟第三方性能测评
数据库·mongodb·性能优化·压力测试
E_ICEBLUE32 分钟前
如何使用 OCR 提取扫描件 PDF 的文本(Python 实现)
java·数据库·pdf
boonya1 小时前
MySQL与PostgreSQL核心区别对比
数据库·mysql·postgresql
书院门前细致的苹果2 小时前
MySQL 中的 B+树和 B树的区别详解
数据结构·数据库·mysql
用户76339900908202 小时前
MongoDB数据库
数据库
boonya2 小时前
数据库分库分表是考虑ShardingSphere 还是Mycat?
数据库
扶尔魔ocy2 小时前
【qml入门】在qml项目上加入用户登录qml页面(包含源码)
数据库
沢田纲吉3 小时前
MySQL 学习二:数据库的操作
数据库·后端·mysql
大白的编程日记.3 小时前
【MySQL】表的操作和数据类型
android·数据库·mysql