MySQL 核心模块揭秘 | 04 期 | 终于要启动事务了
作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。
目录
1. 启动事务
2. 读事务
3. 只读事务
4. 读写事务
5. 内部事务
6. 总结
正文
1. 启动事务
在《BEGIN 语句会马上启动事务吗?》这篇文章中,我们介绍过开始一个事务的 8 种 SQL 语句:
/* 1 */ BEGIN<br>/* 2 */ BEGIN WORK<br>/* 3 */ START TRANSACTION<br>/* 4 */ START TRANSACTION READ WRITE<br>/* 5 */ START TRANSACTION READ ONLY<br>/* 6 */ START TRANSACTION WITH CONSISTENT SNAPSHOT<br>/* 7 */ START TRANSACTION WITH CONSISTENT SNAPSHOT, READ WRITE<br>/* 8 */ START TRANSACTION WITH CONSISTENT SNAPSHOT, READ ONLY<br>