一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

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

Oracle讀一致性導致的問題

發布時間:  2012/9/24 17:07:35

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

  下面的例子進行說明。

  先像表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提交后再執行會話2時,得到得結果是102

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

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

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

  session1:

  update test set A=A+1

  session2:

  update test set A=A+1

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


 


本文出自:億恩科技【www.laynepeng.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!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 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

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