小编给大家分享一下RR与RC隔离级别下MySQL不同的加锁解锁方式有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站设计、博罗网络推广、成都微信小程序、博罗网络营销、博罗企业策划、博罗品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供博罗建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
| RC与RR隔离级别下MySQL不同的加锁解锁方式
MySQL5.7.21
数据准备
确认隔离级别
同时开启两个会话,按下图的流程开始操作。
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不同的加锁解锁方式有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!