MySQL 当前读和快照读的区别?
快照读(普通 SELECT):读 MVCC 快照版本,不加锁、不阻塞、性能好;RR 下整个事务读同一快照(可重复读)。当前读(锁定读):SELECT ... FOR UPDATE(X 锁)、SELECT ... LOCK IN SHARE MODE(S 锁)、UPDATE/DELETE/INSERT——读最新已提交数据并加锁,其他事务的写被阻塞。应用:库存扣减(UPDATE 即当前读,原子)、账户余额操作、需要即时一致性的读取。理解:快照读保证一致性视图,当前读保证实时性与并发安全。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。