哪个选择查询将运行得更快[重复]

Posted

技术标签:

【中文标题】哪个选择查询将运行得更快[重复]【英文标题】:Which Select query will run faster [duplicate] 【发布时间】:2014-12-02 07:38:55 【问题描述】:

您好,我正在尝试从包含大约 100 万条记录的表中获取最大 ID。 请建议我在这些查询中哪一个执行得更快。

选项 1:

select top 1 SurveyUserResponseID from surveyuserresponse order by SurveyUserResponseID desc

选项 2:

select max(SurveyUserResponseID) from surveyuserresponse

根据实际执行计划,两个查询的执行时间相同。

【问题讨论】:

如果您有两匹马,并且您想知道哪两匹马更快,那么赛马 - 请参阅 Eric 的 Which is faster? Lippert 了解更多背景 【参考方案1】:

你可以自己试试。使用时间统计运行您的查询。像这样:

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

并在“消息”选项卡上查看执行每个查询需要多长时间。

【讨论】:

【参考方案2】:

您好,我正在尝试从包含大约 100 万条记录的表中获取最大 ID。请建议我在这些查询中哪一个执行得更快。

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

两个查询的执行时间相同。

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

【讨论】:

以上是关于哪个选择查询将运行得更快[重复]的主要内容,如果未能解决你的问题,请参考以下文章

ArrayList 还是 LinkedList 哪个运行得更快? [复制]

Oracle 执行计划:成本与实际问题:成本较高的查询运行得更快

更快地查找受时间限制的重复项

修改 UIStepper 自动重复行为

子查询或 leftjoin with group by 哪个更快?

Android SQLite:哪个查询(“query”或“rawQuery”)更快?