數據庫系統的並發度是影響其性能的關鍵因素之一,如何提高並發度就成為了我們要思考的問題。本文將為您介紹3個最常用的提高DB2並發度的防范,供您參考。
1.降低隔離級, 讀操作不會因為鎖沖突被攔
select .... with UR
2.或改變加鎖的時機,減少鎖沖突(這樣其行上的insert/update/delete操作不會鎖住條件不同select操作)
db2set DB2_EVALUNCOMMITTED=ON
db2set DB2_SKIPDELETED=ON
db2set DB2_SKIPINSERTED=ON
3.或在where相關字段上加索引,減少鎖占用
注解:
db2set DB2_EVALUNCOMMITTED=ON - 這個參數將在記錄鎖之前進行謂詞檢查,盡量減少鎖的時間;
db2set DB2_SKIPINSERTED=ON - 這個參數將新insert且沒有提交的數據跳過;例如,SELECT/UPDATE語句不會發現這條記錄;
db2set DB2_SKIPDELETED=ON - 這個參數將新delete且沒有提交的數據跳過;例如,SELECT/UPDATE語句不等待這條記錄的提交,並且認為他已經被刪除了。