温馨提示×

如何解决mysql幻读

九三
179
2021-01-13 18:44:37
栏目: 云计算

如何解决mysql幻读

mysql中出现幻读的两种解决方法

1.多版本并发控制(MVCC)

多数数据库都实现了多版本并发控制,并且都是靠保存数据快照来实现的。事务每次取数据的时候都会取创建版本小于当前事务版本的数据,以及过期版本大于当前版本的数据。其原理时将历史数据存一份快照,所以其他事务增加与删除数据,对于当前事务来说是不可见的。

2.next-key 锁

next-key 锁包含记录锁(行锁)和间隙锁两部分,记录锁是加在索引上的锁,间隙锁是加在索引之间的。其原理是将当前数据行与上一条数据和下一条数据之间的间隙锁定,保证此范围内读取的数据是一致的。

0