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

命令的启动时机

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

事务的版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于一个事务视图来说,除了自己的更新总是可见以外,有三种情况:

  1. 版本未提交,不可见;
  2. 版本已提交,但是是在视图创建后提交的,不可见;
  3. 版本已提交,而且是在视图创建前提交的,可见。
    读提交的逻辑和可重复读的逻辑类似,它们最主要的区别是:
    在可重复读隔离级别下,只需要在事务开始的时候创建一致性视图,之后事务里的其他查询
    都共用这个一致性视图;
    在读提交隔离级别下,每一个语句执行前都会重新算出一个新的视图。

相关推荐

  1. MySQL事务隔离级别

    2024-01-30 14:02:02       57 阅读
  2. MySQL 事务隔离级别

    2024-01-30 14:02:02       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 14:02:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 14:02:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 14:02:02       82 阅读
  4. Python语言-面向对象

    2024-01-30 14:02:02       91 阅读

热门阅读

  1. Django实现富文本编辑器Ckeditor5图片上传功能

    2024-01-30 14:02:02       53 阅读
  2. 力扣labuladong一刷day71天动态规划5题

    2024-01-30 14:02:02       47 阅读
  3. Qt容器类

    2024-01-30 14:02:02       52 阅读
  4. 【微服务】概述

    2024-01-30 14:02:02       43 阅读
  5. 微服务系统设计:横向扩展和纵向扩展的对比

    2024-01-30 14:02:02       56 阅读
  6. 解决Qt连接不上mysql数据库

    2024-01-30 14:02:02       60 阅读
  7. 【C语言】(9)分支结构

    2024-01-30 14:02:02       50 阅读
  8. 龙哥风向标20230822 GPT拆解

    2024-01-30 14:02:02       43 阅读