提高DB2并發(fā)度的三大方法
數(shù)據(jù)庫(kù)系統(tǒng)的并發(fā)度是影響其性能的關(guān)鍵因素之一,如何提高并發(fā)度就成為了我們要思考的問(wèn)題。本文將為您介紹3個(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且沒(méi)有提交的數(shù)據(jù)跳過(guò);例如,SELECT/UPDATE語(yǔ)句不會(huì)發(fā)現(xiàn)這條記錄;
db2set DB2_SKIPDELETED=ON - 這個(gè)參數(shù)將新delete且沒(méi)有提交的數(shù)據(jù)跳過(guò);例如,SELECT/UPDATE語(yǔ)句不等待這條記錄的提交,并且認(rèn)為他已經(jīng)被刪除了。