事务的四个特性ACID
原子性、一致性、隔离性、持久性,其中隔离性相关有四个隔离级别
1:未提交读(read uncommitted)
B事务可以读取A事务修改但未提交的数据,A数据若回滚,B事务就读到了脏数据
2:已提交读(read committed)
一个事务提交之前,所有修改对其他事务都不可见。A事务修改的数据提交之前,B事务查询不到A所做的修改,待A事务提交之后,B事务之内可能查到与A提交之前不同的数据
故本级别有时也叫不可重复读
3:可重复读(repeatable read)
本级别是MYSQL的默认隔离级别,解决了脏读的问题,即B事务中多次读取某数据时,得到的是同样的结果,但是可能导致幻读问题(A事务首次查询某个区间内的数据得到两条,此后B事务向该
区间内插入一条新数据,A事务再次查询时,结果比上次查询多出一条数据,此为幻读)
4:可串行化(serializable)
在读取的每一行数据上都加锁
网友评论