4特性 一致 隔离 持久 原子 4级别 read uncommit 导致可重复读(可提交读)幻读 脏读 read commit 导致可重复读(可提交读)幻读 repeatable read 导致可重复读(可提交读 也是多数数据库默认级别) searializable 最安全
提交读(不可重复读)和可重复读的区别在于,前者在本事务未提交之前其他事务的增删改操作提交后会影响读的结果。读的是最新结果。 可重复读在读的过程中数据始终是事务启动时的数据状态,未提交之前其他事物的增删改操作提交后都不会影响读的结果。读的是快照结果。 (我的理解是相当于是否有一个快照的概念) 级别越高,数据越安全,但性能越低。
- 脏读:一个线程中的事务读取到了另外一个线程中未提交的数据。
- 不可重复读(虚读):一个线程中的事务读取到了另外一个线程中提交的update的数据。
- 幻读:一个线程中的事务读取到了另外一个线程中提交的insert的数据。
连接一个比较好的blog https://blog.youkuaiyun.com/qq_34569497/article/details/79064208