详见:https://www.cnblogs.com/WJ-163/p/6023054.html
事务的四大特征:
1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。
2. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
3. 隔离性:多个事务之间。相互独立。
4. 一致性:事务操作前后,数据总量不变
事务的隔离级别(了解)
* 概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。
* 存在问题:
1. 脏读:一个事务,读取到另一个事务中没有提交的数据
2. 不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。
3. 幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。
* 隔离级别:
1. read uncommitted:读未提交
* 产生的问题:脏读、不可重复读、幻读
2. read committed:读已提交 (Oracle)
* 产生的问题:不可重复读、幻读
3. repeatable read:可重复读 (MySQL默认)
* 产生的问题:幻读
4. serializable:串行化
* 可以解决所有的问题
* 注意:隔离级别从小到大安全性越来越高,但是效率越来越低
相关文章
- 09-14SPRING事务的属性有哪些?其中,事务隔离级别有哪几种?什么情况需要使用这几种事务隔离级别?
- 09-14面试之spring5种数据隔离和7种事务传播性
- 09-14【转】Innodb中的事务隔离级别和锁的关系
- 09-14事务操作与隔离级别
- 09-14Spring Boot 事务传播机制级别/类型/行为、嵌套事务、事务隔离机制
- 09-14分布式事务(二)--事务基础--ACID--隔离级别-MVCC
- 09-14coding++:事务管理 隔离级别
- 09-14事务隔离级别测试
- 09-14事务的4种隔离级别(Isolation Level)分别是什么?
- 09-14数据库并发问题及四种隔离级别原理深入分析(最详细)