事务隔离界别理解
来源:互联网 发布:天猫 淘宝商城女包 编辑:程序博客网 时间:2024/05/29 03:06
看完 https://www.cnblogs.com/fjdingsd/p/5273008.html 的理解
举个栗子:
【脏读】
1,我转了100元给你
2,你读到了100元,以为收到了
3,我这边发生了错误,回滚了所有钱
4,你其实没有收到100元
总结:我这边还没提交呢,你怎么读都不是最终的结果,万一我回滚了,你就白搭了。(读取了未提交的数据)
【不可重复读】
1,在一个事务中,对一条数据
2,我先查了一遍,查出来结果是红色
3,你改了数据,改成原谅色
4,我正好又要查一遍,查出来居然是原谅色
总结:读了两次结果不同。(读取了已提交的数据)(同一条数据的更新)
【幻读】
1,我将一张表的所有数据从苍老师改成波多
2,此时,你向我的表插入了一条数据,名字叫苍老师
3,然后,我以为我改好了,去看一下我修改好的表,居然有一条苍老师,仿佛产生了幻觉
总结:读了两次结果不同(读取了已提交的数据)(同一批数据中有新数据插入)
------------------------------------------------
再来看下数据库的隔离级别:
【Read Uncommitted】
字面意思,读了未提交的,最不安全。
会脏读。
【Read Committed】
字面意思,读了已经提交的,
避免脏读。
(两次读出来的结果不一样,当然叫不可重复读啦)
【Repeatable】
字面意思,可以重复读
避免脏读,不可重复读。
(现在叫可以重复读啦)
【Serializable】
字面意思,串行化,序列化。
避免,脏读,不可重复读、幻读。
数据库查询隔离级别
select @@tx_isolation;
推荐一篇好文:
https://my.oschina.net/huangyong/blog/160012?p=2&temp=1488433678873
- 事务隔离界别理解
- 通俗理解事务隔离界别
- [高性能MySQL]-事务与隔离界别
- 事务隔离级别理解
- 理解事务的隔离性 .
- 数据库事务隔离级别理解
- 理解事务的隔离性
- 数据库事务隔离级别理解
- 事务隔离级别的理解
- 事务的隔离级别理解
- 理解事务的隔离性
- SqlServer事务中的可重复读和序列化隔离界别
- 理解MYSQL事务以及隔离级
- 如何理解数据库事务隔离级别
- 理解事务的隔离性(转载)
- 深入理解oracle的事务隔离性
- 自己理解的“数据库事务隔离级别”
- 理解事务的4种隔离级别
- Bzoj4989 [Usaco2017 Feb]Why Did the Cow Cross the Road
- CocoaPods常见问题
- react-native init AwesomeProject报错
- WIN10下安装MySQL5.7 Archive版
- vue 使用svg图片
- 事务隔离界别理解
- 网络编程(三) UDP报头及编程
- angularjs scope(作用域)
- JSP之项目路径问题(${pageContext.request.contextPath},<%=request.getContextPath()%>以及绝对路径获取)
- react设计中,什么时候该把数据放在组件,什么时候该放在store中
- Swift: KVO 注意事项和属性观察器
- Springboot+vue+element+v_charts趟坑
- (POJ1753)翻硬币题解
- linux\mac 日常入门命令行使用——搜索文件\文件夹