加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

在分离连接模式下 RR和RC之间差异的锁定释放规则是什么

发布时间:2023-10-21 14:07:44 所属栏目:MySql教程 来源:
导读:小编给大家分享一下RR与RC隔离级别下MySQL不同的加锁解锁方式有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!| RC与RR隔离级别下MySQL不同的加锁解锁方式MySQL5.7.21数据准备确认隔离级别同

小编给大家分享一下RR与RC隔离级别下MySQL不同的加锁解锁方式有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

| RC与RR隔离级别下MySQL不同的加锁解锁方式

MySQL5.7.21

数据准备

确认隔离级别

同时开启两个会话,按下图的流程开始操作。

3.半一致读semi-consistent read

3.1 半一致读发生条件

innodb_locks_unsafe_for_binlog默认为off。 

如果设置为1,会禁用gap锁,但对于外键冲突检测(foreign-key constraint checking)或者重复键检测(duplicate-key checking)还是会用到gap锁。  

启用innodb_locks_unsafe_for_binlog产生的影响等同于将隔离级别设置为RC,不同之处是:

1)innodb_locks_unsafe_for_binlog是全局参数,影响所有session;但隔离级别可以是全局也可以是会话级别。

2)innodb_locks_unsafe_for_binlog只能在数据库启动的时候设置;但隔离级别可以随时更改。   

基于上述原因,RC相比于innodb_locks_unsafe_for_binlog会更好更灵活。 

启用innodb_locks_unsafe_for_binlog还有以下作用:

环境准备

开始操作

注:过程现象满足RR隔离级别,也符合设置innodb_locks_unsafe_for_binlog=ON的情况。因为前面所讲的启用innodb_locks_unsafe_for_binlog会产生作用1与作用2,所以整个加锁与解锁情况与RC隔离级别类似。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章