亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產品
您的位置: 網站首頁 > 幫助中心>文章內容

Oracle讀一致性導致的問題

發(fā)布時間:  2012/8/11 17:08:24

為了提高事務處理的速度,Oracle采用了讀一致性機制。就是當一個會話更新數據后未提交時,其它會話讀取到更新前的結果。這大大提高數據并發(fā)的效率,但某些特定條件下會產生錯誤的結果。

  下面的例子進行說明。

  先像表test(A number(10,2))插入1行記錄100

  session1:

  update test set A=(select A+1 from test)
-
 

  session2:

  update test set A=(select A+1 from test)

  當會話1提交后再執(zhí)行會話2時,得到得結果是102

  當會話1執(zhí)行后未提交,會話2就已經執(zhí)行,得到得結果是101,并不是102。這是因為Oracle為了提供數據的并發(fā)訪問速度,在一個會話更新數據后未提交時,另一個會話select 到的將是第一個會話更新前的數據

  單多個會話并發(fā)時,會產生不確定得結果,這不是我們想看到的。在并發(fā)系統(tǒng)開發(fā)時應多注意此類問題,并多測試。

  上面的兩個會話可以改成以下做法,保證數據的準確更新

  session1:

  update test set A=A+1

  session2:

  update test set A=A+1

  其它的例子就不多說,當所要的處理結果與數據庫本身的機制有沖突時,需嘗試其它的實現方法


本文出自:億恩科技【1tcdy.com】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線