4大特性:
- 原子性(业务操作单元)
- 一致性(ATM取钱)
- 隔离性(二元世界)
- 持久性(不可逆操作)
事务隔离级别
事务隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
Read Uncommitted | y | y | y |
Read Committed | n | y | y |
Repeatable Read(悲观锁级别) | n | n | y |
Serializable | n | n | n |
脏读
当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据
不可重复读
在一个事务内,多次读同一数据,并且在2次读取之间另外一个事务修改了这个数据,那么就导致在一个事务内两次读到的数据是不一样的。
幻读
这是一种当事务不是独立执行时会发生的现象。例如:一个事务对一个表中的所有数据进行了修改,同时另外一个事务向表中插入了一条数据。那么操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。