在多个用户进行并发交易时,经常出现行锁错误,请问如何避免这种错误,在建表或数据库需要加特殊的设置吗?请大家指教
------解决方案--------------------------------------------------------
建立索引、优化SQL、优化数据处理过程,让一个事物尽可能快的结束
设置数据库配置参数,增大LOCKLIST参数或MAXLOCKS参数的值
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
出现销的时候看一下原因:可以用
db2 get monitor switches
db2 update monitor switches using locks on statement on
db2pd -db [dbname] -locks wait showlocks -transactions -applications -dyn
------解决方案--------------------------------------------------------
db2set DB2_EVALUNCOMMITTED=ON
db2set DB2_SKIPINSERTED=ON
db2set DB2_SKIPDELETED=ON
db2stop/db2start
The keywords reduce unnecessary lock delays (and increase concurrency) whenever SELECT statements scan the index to find rows that satisfy predicates. In addition, these keywords help to eliminate deadlocks and timeout errors (DB2 error SQL0911N, reason code 2 or reason code 68)
看你的业务允许不允许了。
------解决方案--------------------------------------------------------
数据量一大的时候就容易锁表,我们这做银行的每天账户200万左右,还要求存历史,天数一多,数据很大了,当多人操作的时候就会锁表。