我有一个大的在线表(每天1300万行),我想昨天移动到另一个表并从在线表中删除。
我测试了一种方法:
1 - 从表格顶部选择100000行按行并插入另一个临时表。 (估计时间:0.87秒)
2 - 通过临时表映射将所选行插入第二个表。 (估计时间:1分12.59秒)
3 - 从第一个(在线)表中删除所选行的临时表映射(已确定时间:5m39.38s - >它太长时间帮助我)。 informix 12.10
答案 0 :(得分:0)
在启用SET EXPLAIN ON
的情况下运行查询,并确认优化程序按照您的设定方式执行慢速步骤。如果不是,您可能需要应用优化程序指令或调整索引策略。 (请记住索引越多,需要修改的页面就越多。)
如果INSERT
然后DELETE
操作花费的时间太长,使用基于表达式的碎片是否可行?这将为您提供昨天DETACH
片段的选项,并将其附加到离线表格。