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

命令的启动时机

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

事务的版本



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

  1. 版本未提交,不可见;
  2. 版本已提交,但是是在视图创建后提交的,不可见;
  3. 版本已提交,而且是在视图创建前提交的,可见。
    读提交的逻辑和可重复读的逻辑类似,它们最主要的区别是:
    在可重复读隔离级别下,只需要在事务开始的时候创建一致性视图,之后事务里的其他查询
    都共用这个一致性视图;
    在读提交隔离级别下,每一个语句执行前都会重新算出一个新的视图。
相关推荐
@听风吟26 分钟前
力扣之182.查找重复的电子邮箱
大数据·javascript·数据库·sql·leetcode
小纯洁w2 小时前
MySQL 中优化 SQL 语句以提高查询性能
数据库·sql·mysql
xiaomiphone92 小时前
【PostgreSQL教程】PostgreSQL详细介绍
数据库·sql·mysql·postgresql·oracle
Iam傅红雪2 小时前
mysql表逆向实体类
数据库·mysql·adb
凯哥Java2 小时前
优化批处理流程:自定义BatchProcessorUtils的设计与应用
java·数据库·mysql
拉玛干2 小时前
社团周报系统可行性研究-web后端框架对比-springboot,django,gin
数据库·python·spring·golang
编织幻境的妖2 小时前
MySQL/Redis集群等数据库的管理、配置、优化、备份恢复、异地同步、数据迁移、安全防护的50道运维面试题
数据库·redis·mysql
不是仙人的闲人2 小时前
Qt日志输出及QsLog日志库
开发语言·数据库·qt
叫我DPT3 小时前
redis
数据库·redis·缓存
大王只是带我巡了个山3 小时前
优化 OR 条件过多导致的查询超时
数据库·mysql·join·or 优化·or 超时·查询超时