SELECT TOP N 在 Sybase ASE 中如何工作

Far*_*res 4 performance sybase select

我想知道这个查询是如何执行的:

SELECT TOP 10 * FROM aSybaseTable
WHERE aCondition
Run Code Online (Sandbox Code Playgroud)

事实上,该查询花费了太多时间来返回结果。所以我想知道查询是否足够智能,可以在结果达到 10 行时停止,或者返回所有可能的结果,然后仅打印前 10 行。

提前感谢您的回复 !

Mic*_*ner 6

当使用select top N查询仍然完全执行时,只是数据页读取在指定行数后停止受到影响。所有索引页都会读取,并且排序仍然必须发生,因此根据 where 条件或子查询的复杂性,它肯定仍然需要时间来执行。 select top N功能上类似于使用set rowcount