本篇内容主要讲解“SQL92标准隔离级别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL92标准隔离级别有哪些”吧!                            
 
定义
Read uncommitted (读取未提交内容)
在 Read uncommitted 级别,事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,这也成为脏读(Dirty read)。这个级别会导致很多问题,从性能上说 Read uncommitted 不会比其他的级别好太多,但缺乏其他级别的好多好处,除非有非常必要的理由,在实际的应用中一般很少使用。
 
Repeatable read 是 Mysql 默认的事务隔离级别,其中 InnoDB主 要通过使用 MVVC 获得高并发,使用一种被称为 next-key-locking 的策略来避免幻读。
 
Serializable (可串行化)
Serializable 是最高的隔离级别。它通过强制事务串行,避免了前面说的幻读问题。简单的来说,Serializable 会在读的每一行数据上都加上锁,所以可能导致大量的超时和锁征用问题。实际应用中也很少用到这个隔离级别,只有在非常需要确保数据的一致性而且可以接受没有并发的情况,才可考虑用该级别。
 
隔离级别
ANSI SQL92 P68-69
 
Level (隔离级别) Dirty read (脏读) Non-repeatable read (不可重复读) Phantom (幻读)
Read uncommitted (读取未提交内容) ✓ ✓ ✓
Read committed (读取提交内容) × ✓ ✓
Repeatable read (可重复读) × × ✓
Serializable (可串行化) × × ×
到此,相信大家对“SQL92标准隔离级别有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

dawei

【声明】:聊城站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。