
不主动加锁比如 for update 也会开启事务并对查询的事务加锁吗?
1 xizismile 2020-05-10 20:17:22 +08:00 via Android 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 机制保证 |