如何在线删除大量行 table informix Db

How TO Delete Large Amount Of rows in online table informix Db

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

我测试了一个方法:

1 - Select 100000 Rows By Rowid 从 table 顶部插入到另一个 Temp table 。 (预计时间:0.87s)

2 - 将 Selected 行插入第二个 Table By Temp Table 地图。 (预计时间:1m12.59s)

3 - 从第一个(在线)Table 临时 Table 地图删除 Selected 行(预计时间:5 分 39 秒 38 秒 -> 太长了,请帮帮我)。 英伟达 12.10

运行 您启用了 SET EXPLAIN ON 的查询,并确认优化器正在按照您假设的方式执行缓慢的步骤。如果不是,您可能需要应用优化器指令或调整您的索引策略。 (注意索引越多,需要修改的页面越多。)

如果 INSERT 然后 DELETE 操作耗时太长,使用基于表达式的分段是否可行?这将使您可以选择 DETACH 昨天的片段,并将其附加到离线 table.