1.什么是事务
事务指的是逻辑上的一组操作,要么成功,要么都不成功,例如转账!
2.事务有哪些特性?
A,原子性,指的是事务不可分割,要么全部成功,要么全部不成功
C,一致性,指的是发生前后数据保持一致,例如转账前后总体的钱数不能变化
I,隔离性,在并发访问数据库时候,一个事务的操作不能被另一组事务干扰
D,持久性,事务一旦提交,对数据库改变是持久的,即使数据库发生故障也不对其有任何影响
3.并发事务带来的问题
脏读:一个事务读取到了另一个操作数据库但是未提交的事务
不可重复读:A事务多次读取数据库,因为B事务修改了数据库,导致A事务前后两次读取到的数据不一致
幻读:A事务多次读取数据库,因为B事务插入了一些数据,导致A事务前后两次读取到的数据不一致
4.不可重复读与幻读的区别
不可重复读在于B事务对于数据库的修改,重点是修改
幻读在于B事务对于数据库的增删,重点是增删
5.事务的隔离级别
1)READ-UNCOMMITTED (读取未提交),最低隔离级别
2)READ-COMMITTED (读取已提交),可阻止脏读,可能发生不可重复读或者幻读
3)REPEATABLE-READ(可重复读),对统同一字段多次读取内容一致,可以避免发生脏读,不可重复读,可能发生幻读
4)SERIALIZABLE(可串行化),最高的隔离级别
来源:oschina
链接:https://my.oschina.net/u/4434424/blog/3163921