温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-06 09:12:43 来源:亿速云 阅读:272 作者:小新 栏目:MySQL数据库

小编给大家分享一下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隔离级别类似。

看完了这篇文章,相信你对“RR与RC隔离级别下MySQL不同的加锁解锁方式有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI