DB2大型更新性能每次都在变化



我有在linux中运行的DB2数据库11.5版本
我正在尝试测量大型更新的速度-每次更新1000000行。示例:

UPDATE test.test1 SET col1= 'X'||col2||'A';

问题是每次执行此更新的时间都非常不同
时间从2.2秒到7.8秒不等。
每次运行更新时,我该如何保持时间一致?

附加信息:

  • 运行db2的服务器不做任何其他事情,而我是数据库中唯一的会话,所以它一定是一些与db2相关的行为
  • 表上没有索引/约束/触发器/FK
  • 该表的完整结构为:
CREATE TABLE "TEST"."TEST1"  (
"COL1" VARCHAR(128 OCTETS) NOT NULL , 
"COL2" VARCHAR(128 OCTETS) NOT NULL , 
"COL3" VARCHAR(128 OCTETS) NOT NULL )
IN "USERSPACE1"  ORGANIZE BY ROW

这一开始只是一条评论,但后来似乎值得作为一个答案。DB2实例的性能不仅取决于DB2中运行的进程(如触发器、其他会话等(,还取决于运行DB2的操作系统上运行的其他进程。您看到的性能上的细微差异可以很容易地通过DB2之外的其他进程对操作系统的需求来解释。因此,您可能需要加载操作系统探查器,并观察DB2中每次更新测试期间发生的情况。

最新更新