博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql事务的隔离级别
阅读量:6955 次
发布时间:2019-06-27

本文共 1511 字,大约阅读时间需要 5 分钟。

hot3.png

事务隔离级别(transaction isolation levels):隔离级别就是对事务并发控制的四个等级。分为

1  串行化(SERIALIZABLE)

2  可重复读(REPEATABLE READ)

3  读已提交(READ COMMITED)

4  读未提交(READ UNCOMMITED):

设置隔离级别,set TRANSACTION ISOLATION LEVEL READ UNCOMMITED;

Read uncommitted:当前事务能读到其他事务未提交的数据,这种情况叫脏读。

SET TRANSATION ISOLATION LEVEL READ COMMITED;

READ COMMITTED:在当前事务过程中,不可能产生脏读。可能读到不同的数据(比如两个事务,一个事务刚刚更新一条数据,另一个事务查询的结果还是旧数据,但是一旦提交,同样的查询语句,却显示出来不同的结果),这种情况叫不可重复读。

SET TRANSATION ISOLATION LEVEL SERIALIZABLE;

SERIALIZABLE:这种隔离界别表示,在当前事务执行过程中,其他事务只能等待,事务不能并发执行

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

REPEATABLE READ:可重复读。

可重复读业务情景:

  张三用其智能手机的手机***端查询其招行帐户余额为300元,他准备用其中的200去抢购一个商品,在他没付款之前他的老婆取走100元,他再次查看 了一下余额,还是300元,他花了200支付了商品,在支付完后,他再次查了一下余额,竟然发现账户里一毛钱都没有啦!

在当前事务过程中,只要不执行更新操作,那么你查到的永远是同样的结果,但是一旦执行更新操作,别的事务的操作会影响到此事务。

可重复读:查询的结果是从缓存中取出,更新的操作是对数据库的更新。

读未提交数据Read Uncommitted:能查看到其它事务还未提交的数据,可能导致脏、幻、不可重复读

读已提交数据Read Committed:只能查到其它事务已提交的数据,而未提交的数据是看不到的。可防止脏读,但幻读和不可重复读仍可发生

可重复读取Repeatable Read:一个事务读取的数据在整个事务过程中,看到的一直不变,看不到其它事务对这些数据的更新,.可防止脏读,不可重复读,但幻读可能发生

序列化Serializable:同一DB上的事务只能串行执行,不能并发运行。不会发生脏读、不可重复读和幻读

mysql默认的隔离级别为Repeatable_Read

sqlserver 默认的隔离级别为Read Commited

oracle 数据库支持READ COMMITTED和SERIALIZABLE两种事务隔离性级别,不支持READ UNCOMMITTED和REPEATABLE READ这两种隔离性级别,Oracle数据库默认使用的事务隔离性级别却是READ COMMITTED

脏读:一个事务读取了另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。

不可重复读:在同一事务中,多次读取同一数据返回的结果有所不同。换句话说就是,后续读取可以读到另一事务已提交的更新数据。

可重复读:在同一事务中多次读取数据时,能够保证所读数据一样,也就是,后续读取不能读到另一事务已提交的更新数据。

幻读:在当前事务过程中,在两次查询之间,做了更新,就有可能产生

转载于:https://my.oschina.net/duanvincent/blog/394172

你可能感兴趣的文章
jenkins 使用磁盘检查插件 disk check plugin
查看>>
使用 Ruby 拓展 Vim
查看>>
centos7下安装LNMP(nginx+PHP7.1.9+mysql5.7)
查看>>
NodeAPI学习之Buffer
查看>>
深入java单例模式
查看>>
create-react-app
查看>>
20170812-XSS跨站脚本攻击
查看>>
Let’s Build |> 使用Elixir,Phoenix和React打造克隆版的Slack(part 1)
查看>>
如何让 StackNaivgator 实现越级回跳
查看>>
工具简述
查看>>
Hbase 集群搭建
查看>>
分布式文件服务器dfs
查看>>
正则表达式
查看>>
关于直播视频格式和浏览器兼容性历史的来龙去脉
查看>>
是的,InfoQ正在招聘技术编辑!跟对的人,一起做喜欢的事!
查看>>
vue2+vue-cli,dis文件加载出错解决方案
查看>>
立下“去O”Flag的AWS,悄悄修炼了哪些内功?
查看>>
关于团队建设,穆帅能教我们什么?
查看>>
2019 SRE 调查报告:事故处理是主要工作,SRE 压力山大
查看>>
xpath学习
查看>>