什么是更快的查询(选择名称....或选择顶部(1)名称

时间:2009-06-12 15:22:15

标签: sql database sql-server-2005

什么是更快的查询?

select Name from Worker

select TOP(1) Name from Worker

我有1,000,000条记录

提前谢谢

1 个答案:

答案 0 :(得分:9)

如果您没有ORDER BY或DISTINCT,SELECT TOP(1) Name FROM Worker会更快。

这样做的原因是,如果您碰巧有ORDER BY或DISTINCT,则查询必须通过整个表来排序和过滤掉不需要的结果。但是,如果它是一个直接的SELECT TOP,它可以转到第一页,第一行,并很快完成。