数据库系统的并发度是影响其性能的关键因素之一,如何提高并发度就成为了我们要思考的问题。本文将为您介绍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语句不等待这条记录的提交,并且认为他已经被删除了。