mysql数据隔离级别

1.read uncommited 读到未提交数据
到了发工资的时候,公司把小明的公资打到小明的卡上,还没提交事务,正好这时候小明查看工资发了没有,结果查到发了5000块钱,本来应该发10000块钱的,小明很纳闷。这时候财务发现小明的工资发错了,又打了5000块钱,提交了事务。小明不相信自己的眼睛,又查了一下,是10000块钱。
小明可以查到未提交的事务,这就出现的脏读的现象。
2.Read committed 读提交
这种隔离级别避免了读到没有提交的数据。但是会出现重复不可重复读的问题。
小明发了工资很开心去超时买东西,在结账是系统查到小明卡里有10000块钱。这是小明的老婆正好在小明结账之前查将小明卡里的钱转到另一个账户,小明结账的时候系统显示账户没钱了,小明很纳闷,东西也没买成。
小明结账时查到账户金额,在读取数据没完成时,小明老婆完成了转账的操作。
3.Repeatable read 不可重复读
当数据库隔离级别是不可重复读时,当小明拿工资卡去消费,系统一旦读工资卡,小明的老婆就不可以查账了,更不能转账了。
但是这种隔离级别可能出现幻读。比如说,小明老婆查询小明的消费记录,发现小明消费了80元钱,可是小明现在正在胡吃海喝,等老婆把小明的消费账单打印出来,发现小明多了一条1000块钱消费记录,小明老婆很诧异,以为自己眼花了。
4.Serializable 序列化
在该级别下,事务顺次执行,代价很大,效率很低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值