在 Oracle 中构建和调整查询时,速度通常是开发人员主要关心的问题。但是,在调整特定查询时,我最近尝试了 FIRST_ROWS 和 NO_CPU_COSTING 提示,生成的执行计划在执行时间上比之前的计划快 80%,但成本高出 300%。执行计划中的 I/O 非常少,而且所有额外开销似乎都来自两个视图之间的嵌套循环外连接。
这个查询是分页的,所以我只需要前几百行。缺乏重要的 I/O 使我认为这个查询不会依赖于缓存,乍一看似乎是要走的路。但是,由于我从未见过查询同时提高速度和成本,因此我不确定使用此查询的缺点可能是什么。有吗?