熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle] 淺談Lock與Latch

2013-11-13 22:25:02  來源: Oracle 
以下是對Oracle中Lock與Latch的相同點以及不同點進行了詳細的分析介紹需要的朋友參考下  

  首先談談它們的共同點吧它們本質上都是一種對資源的獨占鎖定都是由並發引起(如果數據庫只有一個session就談不上鎖定)

  接著著重談談它們的不同點

  首先它們的目的不一樣enqueue (即LockOracle官方文檔混合使用這兩個名詞在等待事件裡可以看到大量的enqueue其實就是lock)是為了解決業務層面的數據爭用而latch是為了解決內存資源的爭用

  其次它們的運行方式不一樣enqueue采用排隊方式先到先得而latch的競爭近乎無序以一種隨機的方式先到不一定先得得靠搶而且它還以一種時間片輪訓的方式不會一直霸占即時還沒運行完時間片一到也

  第三會話持有的時長不一樣enqueue根據業務情況可能會持有較長時間而latch通常非常短第四引起的原因不一樣enqueue太多通常是業務設計的問題而latch過多一般是數據庫層面的問題(如未使用綁定變量表或索引熱塊等)


From:http://tw.wingwit.com/Article/program/Oracle/201311/19050.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.