MySQL 的 select * 会用到事务吗?

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

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

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

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

相关推荐
我该如何取个名字12 分钟前
Mac mini 安装mysql数据库以及出现的一些问题的解决方案
数据库·mysql·macos
曹弘毅1 小时前
doris/clickhouse常用sql
数据库·sql·clickhouse·doris
菜萝卜子2 小时前
【Redis】redis主从哨兵
数据库·redis·缓存
蒂法就是我2 小时前
MySQL 的锁,表级锁是哪一层的锁?行锁是哪一层的锁?
数据库·mysql
怒放吧德德2 小时前
MySQL篇:MySQL如何实时同步到ES
mysql·elasticsearch·面试
IvanCodes2 小时前
MySQL 锁机制
数据库·sql·mysql·oracle
青春不流名2 小时前
docker-compose之graylog
数据库·mongodb
橘猫云计算机设计3 小时前
springboot-基于Web企业短信息发送系统(源码+lw+部署文档+讲解),源码可白嫖!
java·前端·数据库·spring boot·后端·小程序·毕业设计
林枫依依3 小时前
Unity 将Excel表格中的数据导入到Mysql数据表中
数据库·mysql·excel
时光追逐者3 小时前
MongoDB从入门到实战之MongoDB简介
数据库·mongodb