事务的隔离级别由低到高排列如下:
1、Read uncommitted
读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。
存在脏读问题:读取未提交的数据,也被称之为脏读(Dirty Read)
2、Read committed
读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。
存在不可重复读问题:同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。
3、Repeatable read
重复读,就是在开始读取数据(事务开启)时,不再允许修改操作
存在幻读问题:幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。
4、Serializable 序列化
最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读
参考链接:https://www.huaweicloud.com/articles/ffc11869bfea5f6793631f9b30369be0.html