进程正在对一个行超过5万行的文件执行LOAD
操作。
onstat -k
命令显示插入行的行锁,我认为这是正常的
我看到的异常是onstat -u
结果,它显示了对这个会话的巨大锁定。
访问此表格的其他流程也会获得SQLERR
-245
我的问题是为什么巨大的插入操作应该锁定表?它不应该只锁定行吗?表的默认锁定模式为row
Informix版本为IDS 11.5
答案 0 :(得分:1)
您使用DB-Access执行LOAD吗?还有许多其他工具可以做LOAD,每个工具都有自己的实现 - 它实际上不是DBMS本身内置的操作(我不会向你详细说明为什么会出现这种情况)。
您是否考虑过使用DB-Load?它的一个优点是它可以将大量负载分解为可管理的事务 - 例如,它可以提交每1000行。这极大地减轻了锁定系统的压力。
您可能还想考虑EXTERNAL TABLE是否会提高加载性能。