我必须在表格中获取最新记录。为此,首先我选择所有记录然后我订购它们并获得最新的100条记录。它花了很多钱。我想知道这是一个更好的方法吗?
我正在使用oracle 10g。
答案 0 :(得分:0)
如果您知道这100条记录始终符合条件,您可以尝试添加一些条件,例如: load_date> '01 -Jan-2012'
答案 1 :(得分:0)
我认为你在SQL中都是这样做的吗?
SELECT * FROM (
SELECT *
FROM table
ORDER BY modified_date DESC
)
WHERE rownum <= 100;
您可以做的一件事是在'modified_date'上创建一个降序索引:
CREATE INDEX table_modified_date_desc_idx on table(modified_date DESC);
然后您的查询应使用此索引仅检索最新记录。如果不是,您可能还需要重新收集此表的统计信息。