哪个Select查询运行得更快

时间:2014-12-02 07:38:56

标签: sql sql-server sql-server-2012

您好我正试图从一张有大约100万条记录的表中获取最大ID。 请建议我在这些查询中执行哪些更快。

选项1:

select top 1 SurveyUserResponseID from surveyuserresponse order by SurveyUserResponseID desc

选项2:

select max(SurveyUserResponseID) from surveyuserresponse

根据实际执行计划,两个查询都花了同样的时间来执行。

2 个答案:

答案 0 :(得分:2)

你可以自己尝试一下。使用时间统计信息运行查询。像这样:

set statistics time on;
select top 1 SurveyUserResponseID from surveyuserresponse order by SurveyUserResponseID desc
set statistics time off;

并查看"消息"选项卡执行每个查询所需的时间。

答案 1 :(得分:0)

  

您好我正试图从一张有大约100万条记录的表中获取最大ID。请建议我在这些查询中执行哪些更快。

根据他们自己,他们都会花费同样的时间:

  

两个查询都花了相同的时间来执行。

因此,任何查询都不会比另一个更快。