【发布时间】:2014-04-09 08:26:26
【问题描述】:
从 DB2 表中仅选择自上次选择(或某个指定时间)以来插入/更新的行的最有效方法是什么?表中没有任何字段可以让我们轻松地做到这一点。 我们从表中提取数据以进行报告,现在我们每次都必须提取整个表,这会导致很大的性能问题。 我找到了有关如何仅选择最后一天更改的行的示例:
SELECT * FROM ORDERS
WHERE ROW CHANGE TIMESTAMP FOR ORDERS >
CURRENT TIMESTAMP - 24 HOURS;
但是,我不确定这样做的效率如何,因为这张桌子很大。 是否有其他方法可以仅选择已更改的行,这可能更有效?
我还找到了名为 ParStream 的解决方案。这似乎可以加快对数据的苛刻查询,但我找不到任何有用的文档。
【问题讨论】:
-
要使用该方法,您需要在表中包含一个包含 ROW CHANGE TIMESTAMP 的列。请注意,应该能够轻松添加这样的列,因为默认情况下隐藏了 ROW CHANGE TIMESTAMP 列。 select * from tbl 不会返回它。请参阅信息中心中的 CREATE TABLE 语法。