码迷,mamicode.com
首页 > 其他好文 > 详细

事务的隔离级别

时间:2018-06-03 14:38:31      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:序列   技术   默认   串行化   一个   数据   一致性   可重复   bsp   

并发事务带来的问题

1.脏读

一个事务可以读取另一个事务未提交的数据,叫脏读。

技术分享图片

 

2.不可重复读

为了解决脏读的问题,让一个事务从开始直到提交之前,所做的任何更新对其他事务都是不可见的。

另一个事务内执行两次同样的查询,可能会得到不一样的结果叫不可重复读。

技术分享图片

 

3.幻读

由于一个事务执行了删除或增加操作,造成

另一个事务内执行两次同样的查询,第二次查询可能会得到多于或少于第一次查询集合的叫幻读。

技术分享图片

 

 

技术分享图片

隔离级别越高,数据库事务并发执行性能越差。

序列化是最高隔离级别,不允许事务并发执行,而必须串行化执行,最安全,不可能出现更新、脏读、不可重复读、幻读,但是效率最低,很少用。

一般地,推荐使用REPEATABLE READ级别保证数据的读一致性。对于幻读的问题,可以通过加锁来防止。

MySQL支持这四种事务等级,默认事务隔离级别是REPEATABLE READ。

事务的隔离级别

标签:序列   技术   默认   串行化   一个   数据   一致性   可重复   bsp   

原文地址:https://www.cnblogs.com/shijianchuzhenzhi/p/9128784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!