事务的隔离级别
Posted shijianchuzhenzhi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事务的隔离级别相关的知识,希望对你有一定的参考价值。
并发事务带来的问题
1.脏读
一个事务可以读取另一个事务未提交的数据,叫脏读。
2.不可重复读
为了解决脏读的问题,让一个事务从开始直到提交之前,所做的任何更新对其他事务都是不可见的。
另一个事务内执行两次同样的查询,可能会得到不一样的结果叫不可重复读。
3.幻读
由于一个事务执行了删除或增加操作,造成
另一个事务内执行两次同样的查询,第二次查询可能会得到多于或少于第一次查询集合的叫幻读。
隔离级别越高,数据库事务并发执行性能越差。
序列化是最高隔离级别,不允许事务并发执行,而必须串行化执行,最安全,不可能出现更新、脏读、不可重复读、幻读,但是效率最低,很少用。
一般地,推荐使用REPEATABLE READ级别保证数据的读一致性。对于幻读的问题,可以通过加锁来防止。
mysql支持这四种事务等级,默认事务隔离级别是REPEATABLE READ。
以上是关于事务的隔离级别的主要内容,如果未能解决你的问题,请参考以下文章