这个默认隔离为什么是repeatable read

这个默认隔离为什么是repeatable read

电商那个例子,设置了repeatable read隔离后,查询的底薪都是之前的,即使是其他事务吧底薪修改成1;

按照这个题目,如果不设置隔离级别repeatable read,其他事务把底薪修改成1后,查询的是修改后的底薪,

这样默认隔离级别就应该不是repeatable read吧,如果是的话,那么我不设置隔离级别跟设置这个隔离级别应该是一样效果才对

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手乔木 2020-01-31 15:00:24

同学你好:

mysql默认的隔离级别(可重复读(repeatable-read))。

这个操作时在两个查询面板下进行的。

第一次试验:

没有修改隔离级别,当前的隔离级别是可重复读(repeatable-read)。

查询面板A:

开启事务,修改sal字段。

查询面板B:

开启事务,查询sal字段,查询到的是修改之前的数据,由于查询面板A中的事务没有提交。

第二次试验:

老师将查询面板B的隔离级别改为读未提交级别(read-uncommitted):

http://img1.sycdn.imooc.com//climg/5e33cfa909b4e14b06550127.jpg

查询面板A:

开启事务,修改sal字段。

查询面板B:

开启事务,查询sal字段,查询到的是修改后的数据,隔离级别为读未提交级别(read-uncommitted),因此A中的事务没有提交,B也可以读取数据。

如果我解决了同学的问题,请采纳!学习愉快^_^。


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师