mysql 查询会加锁开启事务吗?

2020-05-10 19:28:12 +08:00
 noble4cc

不主动加锁比如 for update 也会开启事务并对查询的事务加锁吗?

3921 次点击
所在节点    MySQL
4 条回复
xizismile
2020-05-10 20:17:22 +08:00
mysql 读分为两种,锁读和一致性读

锁读(共享读( select in share mode )和排它读( select for update ))会加锁
一致性读(普通的那种读)不加锁

开启还是不开启事务,这和应用端事务设置以及数据库事务设置都有关系
gaius
2020-05-10 22:37:35 +08:00
事务是事务,锁是锁
billlee
2020-05-10 22:56:04 +08:00
不执行 START TRANSACTION 的情况下,是否开启事务由连接的 autocommit 配置决定。
默认隔离级别下,开启事务时执行单纯的 SELECT 不会加锁,会通过 MVCC 实现 Repeatable read
Coolha
2020-05-19 16:04:26 +08:00
不使用 for update 读,不加锁,隔离性靠 MVCC 机制保证

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/670314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX