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

命令的启动时机

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

事务的版本



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

  1. 版本未提交,不可见;
  2. 版本已提交,但是是在视图创建后提交的,不可见;
  3. 版本已提交,而且是在视图创建前提交的,可见。
    读提交的逻辑和可重复读的逻辑类似,它们最主要的区别是:
    在可重复读隔离级别下,只需要在事务开始的时候创建一致性视图,之后事务里的其他查询
    都共用这个一致性视图;
    在读提交隔离级别下,每一个语句执行前都会重新算出一个新的视图。
相关推荐
wang3zc20 分钟前
mysql如何提升InnoDB写入性能_对比MyISAM的写入锁机制
jvm·数据库·python
YL200404261 小时前
MySQL-基础篇-事务
数据库·mysql
whn19771 小时前
达梦dbms_sql对字段类型的展示
数据库
ITMr.罗1 小时前
【无标题】
数据库
KaMeidebaby2 小时前
卡梅德生物技术快报|细菌 FISH 实验 + 流式细胞术:尿路感染活菌快速定量系统实现与数据验证
前端·数据库·其他·百度·新浪微博
昆曲之源_娄江河畔2 小时前
DBGridEh Footer的使用
前端·数据库·delphi·dbgrideh
邮专薛之谦2 小时前
MySQL 完整SQL指令大全(含详细解释+实战示例)
数据库·sql·mysql
YL200404262 小时前
MySQL-进阶篇-SQL优化
数据库·sql·mysql
Irissgwe2 小时前
redis之典型应用-缓存cache
数据库·redis·缓存·缓存击穿·缓存雪崩·redis淘汰策略
Shely20172 小时前
数据库索引
数据库·mysql