oracle 排序优化

oracle order by optimization

我是 运行 一个大型 table 的查询,我希望返回大量行。 不幸的是,我需要按 2 列对结果进行排序,这使得查询非常慢。

我为那些特定的列添加了索引,但想知道顺序方向是否有所不同。 一列按降序排列,一列按升序排列。

感谢和最良好的祝愿, e.

您的查询 可能 受益于与 order by 子句排序方式相同的索引,例如

create index index1 on table1 (col1 desc, col2 asc);

它是否会受益取决于索引扫描和 table 查找与简单的完整 table 扫描的相对成本。如果您想要的行数相对于 table 中的总行数较少,则查询 可能 受益。

唯一确定的方法就是尝试一下。