MySQL 的 select * 会用到事务吗?

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

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

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

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

相关推荐
poemyang4 小时前
十年大厂员工终明白:MySQL性能优化的尽头,是对B+树的极致理解
mysql·pagecache·顺序i/o·局部性原理·b tree·b+ tree
wyiyiyi5 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
天宇_任6 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
xiep14383335109 小时前
Ubuntu 安装带证书的 etcd 集群
数据库·etcd
Java小白程序员9 小时前
Spring Framework:Java 开发的基石与 Spring 生态的起点
java·数据库·spring
老虎062710 小时前
数据库基础—SQL语句总结及在开发时
数据库·sql·oracle
爱掘金的土拨鼠11 小时前
国产化dm数据库锁表解锁
数据库
花花无缺12 小时前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉12 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
庖丁解java12 小时前
N个Utils
数据库