MySQL 的 select * 会用到事务吗?

我们都知道,在InnoDB存储引擎中,所有的修改操作都必须在事务中进行的。

那么,而 SELECT * 这种普通的读取操作其实也会在事务的上下文中执行,即使没有明确的开启事务语句InnoDB存储引擎也会为查询自动开启一个隐式事务。

因此,InnoDB的所有操作都可以说是在事务的上下文中执行的,包括读取操作和修改操作。

虽然查询语句也会在事务的上下文中执行,但是由于没有进行任何修改操作,因此事务不会持有任何锁,并且在查询结束后立即提交,这种隐式事务通常被称为自动提交事务(autocommit)。

相关推荐
JavaGuide1 小时前
公司来的新人用字符串存储日期,被组长怒怼了...
后端·mysql
怒放吧德德4 小时前
MySQL篇:MySQL主从集群同步延迟问题
后端·mysql·面试
数据智能老司机5 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
Eip不易也不e6 小时前
教程之同时安装两个版本的 mysql
mysql
数据智能老司机6 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿6 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
Kagol6 小时前
macOS 和 Windows 操作系统下如何安装和启动 MySQL / Redis 数据库
redis·后端·mysql
无名之逆6 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s9123601016 小时前
rust 同时处理多个异步任务
java·数据库·rust
数据智能老司机6 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构