我需要创建可以选择的 SQL 查询,假设按一列排序 1000 行,然后仅返回 100 行。
为什么?我的查询可以选择 ~1 000 000 行(或更多),我想先取 1000 行,从这 1000 行中只显示 100 行具有最佳相关性。我担心这样的选择的性能,所以我想介绍这第一步(只需要 1000 行)。我知道我可能会错过相关性更好的文档,但在这种情况下没关系。
最佳答案
不选前1000个有关系吗?即如果你只是使用...
Select top 100 *
From table
Order by column
您会得到相同的结果,并且正如其他地方所指出的那样,您不太可能降低性能而不是提高性能。
如果你想优化这个查询然后确保在列
上有一个索引然后SQL服务器将能够优化记录的检索和排序给你你想要的.
关于可以选择 n 行排序依据然后返回 m 行的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857837/