时间:2024-11-03 04:01:19
MySQL 是如何解决幻读的
先说结论,MySQL 存储引擎 InnoDB 隔离级别 RR 解决了幻读问题。如引用一问题所说,T1 select 之后 update,会将 T2 中 insert 的数据一起更新,那么认为多出来一行,所以防不住幻读。看着说法无懈可击,但是其实是错误的,InnoDB 中设置了 快照读 和 当前读 两种模式,如果只有快照读,那么自然没有幻读问题,但是如果将语句提升到当前读,那么 T1 在 select 的时候需要用如下语法: select * from t for update (lock in share mode) 进入当前读,那么自然没有 T2 可以插入数据这一回事儿了。
《mysql是如何解决幻读》不代表本网站观点,如有侵权请联系我们删除
精彩推荐