以有效的方式获取最新记录

时间:2012-10-22 08:50:05

标签: select plsql oracle10g sql-order-by

我必须在表格中获取最新记录。为此,首先我选择所有记录然后我订购它们并获得最新的100条记录。它花了很多钱。我想知道这是一个更好的方法吗?

我正在使用oracle 10g。

2 个答案:

答案 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);

然后您的查询应使用此索引仅检索最新记录。如果不是,您可能还需要重新收集此表的统计信息。