数据库的一些概念

3:事务隔离级别:

   数据库并发存在的三种问题:

         幻象读取:事务T1读取一条指定的where字句所返回的结果集。然后事务T2新插入一条记录,这行记录恰好可以满足该条件,当T1第二次读取的时候就查 询除了这条数据。这个新行就称为“幻象”,因为对于T1来说这行就像是突然出现的。

        不可重复读:事务T1读取一行记录,紧接着事务T2修改了T1刚才读取的那行记录。T1再次读取的时候,结果就不同了。该类现象叫做不可重复读。

        脏读:事务T1新增了一条数据,事务T2读取更新后的数据。然后T1执行回滚,取消了该操作,T2读取的行就成为了无效的数据(脏数据)。

    对于上述三种情况,sql标准定义了以下几种事务隔离级别,按照隔离性级别从低到高:

     read uncommitted :读取未提交的数据。 幻影读,不可重复读,脏读都允许。

     read committed : 读取提交的数据。脏读不允许,幻影读,不可重复读允许。

     repeatable read :允许重复读(重复读是安全的,就是不可重复读)。允许幻影读,但是不允许不可重复读和脏读。

     serializable : 序列化读(意味着一个一个来)。不允许幻影读,不可重复读和脏读。

 Oracle数据库支持read committed 和serializable两种事务隔离级别,不支持rean uncommitted和repeatable read.

 虽然 sql标准定义的默认事务级别是serializable,但是Oracle默认的是read committed.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值