MySQL 的 select * 会用到事务吗?

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

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

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

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

相关推荐
NocoBase10 分钟前
6 个替代 Microsoft Access 的开源数据库工具推荐
数据库·数据分析·开源
学编程的小鬼1 小时前
MyBatis中如何实现数据封装
数据库·mybatis
武子康1 小时前
Java-136 深入浅出 MySQL Spring Boot @Transactional 使用指南:事务传播、隔离级别与异常回滚策略
java·数据库·spring boot·mysql·性能优化·系统架构·事务
不剪发的Tony老师2 小时前
SQLE:一个全方位的SQL质量管理平台
数据库·sql
TDengine (老段)2 小时前
TDengine 时序函数 IRATE 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine
lixora2 小时前
postgres linux 环境psql 中文乱码处理
数据库
TDengine (老段)2 小时前
TDengine 时序函数 CSUM 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
摇滚侠3 小时前
在 Oracle SQL 中实现 `IF-ELSE` 逻辑 SQL 错误 [12704] [72000]: ORA-12704: 字符集不匹配
数据库·sql·oracle
tyxbiy2347 小时前
【微服务初体验】Spring Cloud+MySQL构建简易电商系统
mysql·spring cloud·微服务
lypzcgf8 小时前
Coze源码分析-资源库-删除数据库-后端源码-流程/核心技术/总结
数据库·go·coze·coze源码分析·智能体平台·ai应用平台·agent平台