首页 / 智能数码 / 正文

mysql间隙锁解决幻读

时间:2024-09-24 06:02:12

mySQL数据库间隙mysql是如何解决的)

InnoDB使用间隙锁的目的,一方面是为了防止幻读,以满足相关隔离级别的要求,对于上面的例子,要是不使用间隙锁,如果其他事务插入了user_id大于100的任何记录,那么本事务如果再次执行上述语句,就会发生幻读;另外一方面,是为了满足其恢复和复制的需要

快照读和当前读

快照读历史数据-mvcc

innodb的默认事务隔离级别是rr(可重复读)。 它的实现技术是mvcc( MVCC只在读提交可重复读两种隔离级别下工作 )。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。

《mysql间隙锁解决幻读》不代表本网站观点,如有侵权请联系我们删除

广州她氧信息科技有限公司 她氧网版权所有 粤ICP备2023058637号