MySQL 并发事务问题:脏读、不可重复读和幻读
脏读(Dirty read)是指一个事务读取了另一个事务未提交的数据。这些未提交的数据可能是被回滚的,也可能是被提交的。
不可重复读(Non-repeatable read)是指一个事务在读取同一条数据的时候,由于另一个事务的修改,导致读取到不同的值。例如,事务 A 读取了数据,事务 B 修改了这条数据并提交,事务 A 再次读取时,发现数据已经发生了变化。
幻读(Phantom read)是指一个事务在读取一组数据时,由于另一个事务的插入操作,导致读取到了不同的行数。例如,事务 A 读取了一组数据,事务 B 插入了新的数据并提交,事务 A 再次读取时,发现数据行数已经发生了变化。
这三个问题都是并发环境下的数据一致性问题,解决方法包括加锁、使用事务隔离级别等。
原文地址: https://www.cveoy.top/t/topic/oUzd 著作权归作者所有。请勿转载和采集!