如何删除在线表informix Db中的大量行数

时间:2015-01-05 06:14:07

标签: informix

我有一个大的在线表(每天1300万行),我想昨天移动到另一个表并从在线表中删除。

我测试了一种方法:

1 - 从表格顶部选择100000行按行并插入另一个临时表。 (估计时间:0.87秒)

2 - 通过临时表映射将所选行插入第二个表。 (估计时间:1分12.59秒)

3 - 从第一个(在线)表中删除所选行的临时表映射(已确定时间:5m39.38s - >它太长时间帮助我)。 informix 12.10

1 个答案:

答案 0 :(得分:0)

在启用SET EXPLAIN ON的情况下运行查询,并确认优化程序按照您的设定方式执行慢速步骤。如果不是,您可能需要应用优化程序指令或调整索引策略。 (请记住索引越多,需要修改的页面就越多。)

如果INSERT然后DELETE操作花费的时间太长,使用基于表达式的碎片是否可行?这将为您提供昨天DETACH片段的选项,并将其附加到离线表格。