哪个选择查询将运行得更快[重复]
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 执行计划:成本与实际问题:成本较高的查询运行得更快