事务的隔离级别以及会出现的问题

夙愿已清 提交于 2019-11-30 19:13:44

事务的隔离级别以及会出现的问题

SQL标准定义了4类隔离级别(由低到高):
1.Read Uncommitted(读取未提交内容)
会出现的问题:一个事务在对数据进行修改但还未提交时,另一个事务读取到了修改后的数据,但因为某些原因修改数据的事务回滚了,出现了脏读;

2.Read Committed(读取提交内容,解决了出现脏读的问题)
会出现的问题:一个事务在查询数据时另一个修改数据的事务刚好提交,再次查询时,两次查询结果不一样,出现虚读

3.Repeatable Read (可重读,解决虚读问题)
会出现的问题:在一个事务的两次查询中数据笔数不一致,例如:一个事务查询一次数据,在此时另一个事务插入了几条数据,当再次查询时出现了几条之前没有的数据,产生幻读;

4.Serializable (可串行化,解决幻读问题)
这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!