并发性与隔离级别

原创 2012年03月23日 06:25:58

 

一、并发性带来的问题
  1、脏读(dirty read)
  2、幻读(phantom read)
  3、更新丢失(lost update)
  4、不可重复读(nonrepeatable read)
二、隔离级别
  1、串行(serializable):不会出现任何并发性问题
  2、可重复读(repeatable read):可能出现幻读
  3、已提交读(read committed):可能出现幻读和不可重复读,解决了脏读和更新丢失。
  4、未提交读(read uncommitted):可能出现所有并发性问题
  隔离级别越高,并发性越差,一致性越好。
三、oracle提供的隔离级别
  1、串行(serializable)
  2、已提交读(read committed)(oracle默认隔离级别)
  3、只读模式(read only)

四、语句级读一致性
  语句级读一致性(statement-level read consistency):单一查询的结果集来自一个时间点——即查询开始执行的时间。一个查询的结果集永远不会包含脏数据及此查询执行

时其他事务提交的数据。在一个查询执行期间,只有在查询执行前提交的数据对此查询才是可见的。查询无法看到其开始执行后提交的数据。
  SELECT ,使用子查询的 INSERT、UPDATE、DELETE 语句,都能够保证数据一致性。
  INSERT、UPDATE、DELETE 语句中包含的查询能够获得一致性的结果集。这些查询无法看到其所在 DML 语句对数据的修改。换句话说,这些查询只能看到其所在 DML 语句开始之

前的数据。
  如果 SELECT 列表中存在 PL/SQL 函数,那么函数中包含的 SQL 语句将遵从其自身的语句级读一致性,而非其所在 SQL 的读一致性。
  oracle默认保证语句级读一致性。
五、事务级读一致性
  事务级读一致性(transaction-level read consistency:事务内所有数据访问均反映的是事务开始时的数据状态。即事务内的所有查询对某个时间点来说具备一致性,但是运

行在串行化模式下的事务能够看到事务自身对数据所作的修改。事务级的读一致性能够保证可重复读取并可阻止出现不存在读取。在oracle中实现事务级读一致性需要修改隔离级

别,设置为serializable。
六、更改隔离级别
  1、会话级修改:alter session set isolation_level={serializable |read committed}  --会话级修改只有这两个值
  2、事务级修改:set transaction isolation level {serializable |read committed}
                 set transaction read only
                 --事务级修改有三个取值,但修改语句只能是事务的第一个语句。
                 --sys用户或者以sysdba连接的用户不能在事务级设置串行隔离级别

MySQL并发控制——事务与事务隔离级别详解

一、首先了解什么是事务 1、事务概念:事务是包含了一组有序的数据库操作命令的序列,它是数据库并发操作的最小控制单位。 2、事务特性:原子性:事务包含的数据库操作命令要么都执行,要么都不执行。 一...
  • zhangliangzi
  • zhangliangzi
  • 2016年06月01日 11:54
  • 1747

事务隔离性和锁的区别和联系

事务隔离级别是并发控制的整体解决方案,其实际上是综合利用各种类型的锁和行版本控制,来解决并发问题。 锁是数据库并发控制的内部机制,是基础。当然,数据库同时还会利用行版本控制(SQL Server...
  • caomiao2006
  • caomiao2006
  • 2015年06月04日 21:44
  • 5367

锁和并发性----隔离级别

隔离级别决定事务间的可见程度,理解隔离级别是做什么的,你就能明白它们是如何阻止并发性副作用的。...
  • Burgess_Liu
  • Burgess_Liu
  • 2014年02月19日 22:24
  • 2290

数据库隔离级别,以及在并发情况下的异常情况

转自:http://www.blogjava.net/feuyeux/archive/2012/04/25/376547.html ACID atomicity [,ætə'misəti] 原子性...
  • liuao107329
  • liuao107329
  • 2017年05月08日 16:32
  • 256

数据库学习笔记3-oralce 的并发控制与事务隔离级别

多版本是指,Oracle 能同时物化多个版本的数据,这也是 Oracle 提供数据读一致视图的机制(读一致视图即 read-consistent view,是指相对于某个时间点有一致的结果)。多版本有...
  • huijianpang
  • huijianpang
  • 2015年03月21日 21:42
  • 308

设置隔离级别实现并发控制

13.4.4 设置隔离级别实现并发控制http://book.51cto.com  2010-02-08 20:03  刘奎  清华大http://new.51c学出版社  我要评论(0)摘要:《SQ...
  • binfire
  • binfire
  • 2015年05月18日 20:58
  • 241

Hibernate事务与并发问题处理(乐观锁与悲观锁)及事务隔离级别

Hibernate事务与并发问题处理(乐观锁与悲观锁) 一、数据库事务的定义   数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处...
  • z_Dendy
  • z_Dendy
  • 2013年05月09日 10:59
  • 763

八张图教你彻底理解数据库并发控制之隔离级别(中)

八张图教你彻底理解数据库并发控制之隔离级别(中) 一、更新丢失 第一个问题来源于两个事务对同一个数据进行修改,引起数据修改最终结果的不确定性。更形象一点,甲乙两童鞋同时在网上订飞机票,甲童鞋瞄中了...
  • echofu16
  • echofu16
  • 2012年05月02日 12:52
  • 357

八张图教你彻底理解数据库并发控制之隔离级别(上)

八张图教你彻底理解数据库并发控制之隔离级别(上) 数据库的隔离级别,是数据库理论中和实践中最为复杂深奥的东西,没有之一。老子经常云:“道可道,非常道”,理解起来就是:“道”这种东...
  • echofu16
  • echofu16
  • 2012年05月02日 12:45
  • 586

数据库并发机制和事务的隔离级别详解

数据库并发机制和事务的隔离级别详解 本文将从以下4个方面来展开: (1)事务的4大特性: (2)数据库并发操作产生的问题: (3)数据库的锁机制: (4)事务的4大隔离级别:...
  • qq_25827845
  • qq_25827845
  • 2017年03月21日 17:35
  • 1250
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:并发性与隔离级别
举报原因:
原因补充:

(最多只允许输入30个字)