oralce"写不阻塞读"机制的小问题

举个小例子:在酒店里2个人同时用机器预定同一时段的一个房间,由于这个时候在写数据库但是不上锁,不阻塞读的情况下他们2个人都会显示预定成功。这样的情况在oralce中会出现,但是在sql server和sybase里是不会存在的,因为他们2个写的时候会给行上锁,不允许读。

但是oralce写不阻塞读的机制当然有他非常大的好处。

如果把象这样的在sql server中运行顺利的例子应用移植到oralce,并简单的认为他也能同样的工作,结果可能让人震惊。由于oracle会在行级锁定,并提供了非阻塞读,所以看上去一切都乱七八糟。这样的情况必须使用for update子句来完成串行访问。如果没有这个子句句,2个用户就可能会同时调度同一个资源。如果不了解所用数据库在多用户环境中如何工作,就会导致这样的结果。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值