Posted on 2009-03-16 19:12
Prayer 閱讀(1354)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
1.RR隔離級別: 在此隔離級別下, DB2會鎖住所有相關的紀錄。 在一個SQL語句執行期間, 所有執行此語句掃描過的紀錄都會被加上相應的鎖。 具體的鎖的類型還是由操作的類型來決定, 如果是讀取,則加共享鎖; 如果是更新, 則加獨占鎖。 由于會鎖定所有為獲得SQL語句的結果而掃描的紀錄, 所以鎖的數量可能會很龐大, 這個時候, 索引的增加可能會對SQL語句的執行有很大的影響,因為索引會影響SQL語句掃描的紀錄數量。
2.RS隔離級別: 此隔離級別的要求比RR隔離級別稍弱,此隔離級別下會鎖定所有符合條件的紀錄。 不論是讀取, 還是更新, 如果SQL語句中包含查詢條件, 則會對所有符合條件的紀錄加相應的鎖。 如果沒有條件語句, 也就是對表中的所有記錄進行處理,則會對所有的紀錄加鎖。
3.CS隔離級別: 此隔離級別僅鎖住當前處理的紀錄。
4.UR隔離級別:此隔離級別下,如果是讀取操作,不會出現任何的行級鎖。對于非只讀的操作,它的鎖處理和CS相同。
DB2默認的隔離級別是CS。即游標穩定性。