关于事务隔离级别

news/2024/7/2 10:00:58

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

第一种 read uncommitted 此状态下脏读,不可重复读,虚读都有可能发生。此状态下两个人同时操作一个数据库表一边开启事务没有提交,另一边也开启事物开始更改数据但是也没有提交,此时第一个操作数据库的人在没有提交的情况下会看到另一边没有提交的数据,此时若第二个人不提交直接rollback数据回滚就会使数据变回原来的,这就是脏读。举例说用这种方式转账就很不安全,第一个人没有关闭事物就去查询账户发现钱多了,但是转账的人并没有提交,此时转账的人如果采用数据回滚就会使本来转好的钱回来。

第二种 read committed 此状态下避免了脏读,但是不可重复读,虚读都有可能发生。补充一点,这种事务隔离级别是oracle默认的。避免不可重复读,顾名思义,就是为了使第一个人在没有提交事物之前读取到的数据不可变,第二个人无论事物提没提交事物只要第一个人没有提交数据,那么第一个人查询到的数据都不会改变。

第三种是 repeatable read 此状态下避免了脏读,不可重复读,但是虚读是有可能发生。这种事物隔离级别是MySQL默认的,插入和修改数据只有在第一个人提交之后才可以查到,避免了数据的变动。

第四种是 serializable 此状态下避免了所有得问题但是效率降低了,一个人操作数据库的时候别人是无法修改的。

总结:

l  脏读:指一个线程中的事务读取到了另外一个线程中未提交的数据。

l  不可重复读:指一个线程中的事务读取到了另外一个线程中提交的update的数据。

l  虚读:指一个线程中的事务读取到了另外一个线程中提交的insert的数据

 

 

转载于:https://my.oschina.net/u/3755017/blog/1802341


http://lihuaxi.xjx100.cn/news/237006.html

相关文章

通俗易懂,到底什么是区块链?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 2017年9月4日,中国政府正式明令禁止ICO和数字货币交易行为,随即关闭了多个数字货币交易所。同时政府也多次声明&#xff0…

后台服务项目的白盒测试之旅

本文来自阿网易云社区作者:孙婷婷白盒测试起因17年下半年我开始介入部门新项目的服务v2版本的功能测试。刚接手项目时,感到十分头疼,首先它不像我刚接触测试时做的to C端项目,主要是页面展示操作,黑盒测试足够&#xf…

App功能测试的注意点

好几个月没有写博客记录学习心得了,这次回老家深夜闲来无事写一篇记录下这段时间的面试心得,这次面试过程很多面试官都问APP的有关测试,下面我就自己的认识和工作中的经验来谈谈自己对APP测试的认识: 1.push消息推送测试 检查push…

什么是区块链智能合约?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 自从2009年第一枚比特币诞生,九年多时间里,区块链技术正在被应用在人们生活的各方各面,从1.0时代的数字货币&…

TensorFlow Lite:TensorFlow在移动设备与嵌入式设备上的轻量级跨平台解决方案 | Google 开发者大会 2018...

Google 开发者大会 (Google Developer Days,简称 GDD) 是展示 Google 最新开发者产品和平台的全球盛会,旨在帮助你快速开发优质应用,发展和留住活跃用户群,充分利用各种工具获得更多收益。2018 Google 开发者大会于 9 月 20 日和 …

Visual Studio 15.7预览版4改进Git、C++支持

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\对于即将到来的Visual Studio 2017 15.7,微软已经发布了多个新的预览版本。这些版本的变更很有限,似…

区块链和智能合约的关系

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 尽管比特币(Bitcoin)和以太坊(Ethereum)是经常被一起提及的两个词,但实际上&#xff0…

centos7中nfs文件系统的使用

需求:file01:1.1.1.1(内网ip 172.20.103.212),file02:2.2.2.2(内网ip 172.20.103.211) 这两台机器的 /dev/mapper/myvg-mylv /data 这个盘都挂载到 video01 47.254.78.171, video02 47.254.83.81 这两台机器上即将file01和file02的/data目录都挂载到vid…