不主动加锁比如 for update 也会开启事务并对查询的事务加锁吗?
1
xizismile 2020-05-10 20:17:22 +08:00 via Android 1
mysql 读分为两种,锁读和一致性读
锁读(共享读( select in share mode )和排它读( select for update ))会加锁 一致性读(普通的那种读)不加锁 开启还是不开启事务,这和应用端事务设置以及数据库事务设置都有关系 |
2
gaius 2020-05-10 22:37:35 +08:00 via Android
事务是事务,锁是锁
|
3
billlee 2020-05-10 22:56:04 +08:00
不执行 START TRANSACTION 的情况下,是否开启事务由连接的 autocommit 配置决定。
默认隔离级别下,开启事务时执行单纯的 SELECT 不会加锁,会通过 MVCC 实现 Repeatable read |
4
Coolha 2020-05-19 16:04:26 +08:00
不使用 for update 读,不加锁,隔离性靠 MVCC 机制保证
|