DB中可以用三種方法來提高並發度:
降低隔離級 讀操作不會因為鎖沖突被攔
select with UR
或改變加鎖的時機減少鎖沖突(這樣其行上的insert/update/delete操作不會鎖住條件不同select操作)
dbset DB_EVALUNCOMMITTED=ON
dbset DB_SKIPDELETED=ON
dbset DB_SKIPINSERTED=ON
或在where相關字段上加索引減少鎖占用
注解:
dbset DB_EVALUNCOMMITTED=ON 這個參數將在記錄鎖之前進行謂詞檢查盡量減少鎖的時間
dbset DB_SKIPINSERTED=ON 這個參數將新insert且沒有提交的數據跳過例如SELECT/UPDATE語句不會發現這條記錄
dbset DB_SKIPDELETED=ON 這個參數將新delete且沒有提交的數據跳過例如SELECT/UPDATE語句不等待這條記錄的提交並且認為他已經被刪除了
From:http://tw.wingwit.com/Article/program/DB2/201311/11226.html