實(shí)例講解IBM DB2中提高并發(fā)度的三個(gè)方法
DB2中,可以用三種方法來提高并發(fā)度:
1.降低隔離級(jí), 讀操作不會(huì)因?yàn)殒i沖突被攔
select .... with UR
2.或,改變加鎖的時(shí)機(jī),減少鎖沖突(這樣其行上的insert/update/delete操作不會(huì)鎖住條件不同select操作)
db2set DB2_EVALUNCOMMITTED=ON
db2set DB2_SKIPDELETED=ON
db2set DB2_SKIPINSERTED=ON
3.或在where相關(guān)字段上加索引,減少鎖占用
注解:
db2set DB2_EVALUNCOMMITTED=ON - 這個(gè)參數(shù)將在記錄鎖之前進(jìn)行謂詞檢查,盡量減少鎖的時(shí)間;
db2set DB2_SKIPINSERTED=ON - 這個(gè)參數(shù)將新insert且沒有提交的數(shù)據(jù)跳過;例如,SELECT/UPDATE語(yǔ)句不會(huì)發(fā)現(xiàn)這條記錄;
db2set DB2_SKIPDELETED=ON - 這個(gè)參數(shù)將新delete且沒有提交的數(shù)據(jù)跳過;例如,SELECT/UPDATE語(yǔ)句不等待這條記錄的提交,并且認(rèn)為他已經(jīng)被刪除了。
