程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2隔離級別之讀穩定性

DB2隔離級別之讀穩定性

編輯:DB2教程

DB2中的讀穩定性是每一個DBA都需要掌握的知識,它保證了不可能出現“不可重復讀”情形,值得我們仔細去研究學習。

讀穩定性(RS)只鎖定應用程序在工作單元中檢索的那些行。它確保在某個工作單元完成之前,在該工作單元運行期間的任何限定行讀取不被其他應用程序進程更改,且確保不會讀取由另一個應用程序進程所更改的任何行,直至該進程落實了這些更改。也就是說,不可能出現“不可重復讀”情形。

與可重復讀不同,使用“讀穩定性”時,如果您的應用程序多次發出相同的查詢,那麼有可能看到附加的幻像行(幻像讀現象)。重新引用掃描 10000 行的示例時,“讀穩定性”只鎖定限定的行。這樣,使用“讀穩定性”時,只檢索 10 行,且只對那十行掛起鎖定。將它與“可重復讀”對比,在本示例中,可重復讀會在所有的 10000 行上掛起鎖定。掛起的鎖定可以是共享、下次共享、更新或互斥鎖定。 
注: “讀穩定性”DB2隔離級別確保在應用程序看到數據之前所有返回的數據保持不變,即使使用了臨時表或行分塊也是如此。

“讀穩定性”DB2隔離級別的其中一個目標是提供較高並行性程度以及數據的穩定視圖。為了有助於達到此目標,優化器確保在發生鎖定升級前不獲取表級鎖定。 
“讀穩定性”DB2隔離級別最適用於包括下列所有特征的應用程序:

* 在並發環境下運行 
* 需要限定某些行在工作單元運行期間保持穩定 
* 在工作單元中不會多次發出相同的查詢,或者在同一工作單元中發出多次查詢時並不要求該查詢獲得相同的回答。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved