并发事务问题:
概念:并发事务问题只是说在并发情况下操作数据库可能会发生的问题,隔离机制是为了解决这些问题
脏读
一个事务读到另外一个事务还没有提交的数据
不可重复读
一个事务先后读取同一条记录 但两次读取的数据不同 称为不可重复读
幻读
一个事务按照条件查询数据时 没有对应的数据行 但是在插入数据时 又发现这行数据已经存在 但是接着再去查询 又发现没有这个数据 好像出现了幻觉
事务的隔离级别:
事务的隔离级别有4种:
由低到高分别为Read uncommitted(读未提交) 、Read committed (读已提交)、Repeatable read (重复读)、Serializable (序列化)
读未提交:不允许其他事务写操作 但是无法解决任何一种并发事务问题
读已提交:不允许其他事务读写操作 可以解决脏读 不可以解决不可重复读 和 幻读
重复读:写操作不允许其他事务读写操作并且读操作也不允许其他事务写操作 可以解决 脏读 不可重复读 不可以解决 幻读
序列化:一个事务一个事务执行,避免了前三种 性能最差 但是可以解决所有并发事务问题