- 脏读:(一个事务读取了未提交的事务)指当一个事务正在访问数据,而且对数据进行了修改,而这种修改尚未提交到数据库中,这时,另一个事务也访问这个数据,而后使用了这个数据。
- 不可重复读:(同一个事务中屡次读取同一个数据返回的结果不一样 )指在一个事务内,屡次读同一数据。在这个事务尚未结束时,另一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,因为第二个事务的修改,那么第一个事务两次读到的的数据多是不同的。
- 幻觉读:(一个事务读取到了另外一个事务已提交的insert数据)指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的所有数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,之后就会发生操做第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉同样。
ISOLATION_DEFAULT:使用数据库默认的隔离级别mysql
事务隔离级别:
加锁读 serializable, mysql默承认重复读
ISOLATION_DEFAULT:使用数据库默认的隔离级别
事务并发处理:
- 共享锁:共享锁用于读取数据操做,它容许其余事务同时读取某锁定的资源,但不容许其余事务更新它。
- 排他锁:排它锁用于修改数据的场合。它锁定的资源,其余事务不能读取也不能修改。
- 更新锁:更新锁在更新操做的初始化阶段用来锁定可能要被修改的资源,从而避免使用共享锁形成的死锁现象。