数据库隔离的四种级别(隔离级别依次递增)
1、不提交读(read uncommited):一个事务未提交,所修改的数据也能被事务看见;(应用少)
2、提交读(read commited):一个事务只能提交后,所修改的数据才能被其他事务看见;(大部分数据部的隔离级别)
3、可重复读(repeatable read):在同一个事务里,在其他事务提交的前后,这个事务每次相同的查询结果都是一样的;(mysql的隔离级别)
但有可能产生幻读,即有个事务在查询的范围内插入了新的数据。(MVCC解决了幻读行)
4、串行(serializable):多个事务对相同的数据进行读写(读读不受限制,读写、写写受限)操作,需依次排队进行;(应用少,并发量受限,系统吞吐量下降,对数据准确性、实时性要求较高可以用该级别)
事务的四大特性
1、原子性:一个事务的多个操作,要么全部执行成功,要么全部执行失败;
2、一致性:事务提交前后,数据库总是从一个状态到另外一个状态,事务提交后,数据库只能是预知的那种状态,不能是其他的;
3、隔离性:多个事务在未提交前,所做的操作相互之间不可见;
4、持久性:一旦事务提交,所做的修改一定会保存到数据库&