gpt4 book ai didi

SQL 添加 Order By 子句会使查询运行得更快。需要解释

转载 作者:行者123 更新时间:2023-12-04 17:24:59 26 4
gpt4 key购买 nike

所以我有这个问题:

SELECT * 
FROM ViewTechnicianStatus
WHERE NotificationClass = 2
AND MachineID IN (SELECT ID FROM MachinesTable WHERE DepartmentID = 1 AND IsMachineActive <> 0)
--ORDER BY ResponseDate DESC

View 庞大而复杂,包含大量连接和子查询。当我运行此查询时,它需要很长时间才能完成,但是如果我添加 ORDER BY,它会立即完成并按预期返回 20 行。我不明白添加 ORDER BY 怎么会对性能产生如此巨大的积极影响。如果有人能向我解释这种现象,我会很高兴。

编辑:这是带有 SET STATISTICS TIME, IO ON; 标记的概要。抱歉隐藏了表名,但我认为我无法公开这些名称。

没有ORDER BY Without ORDER BY

按顺序 enter image description here

最佳答案

要回答您的问题,您的查询在添加订单依据时运行速度更快的原因是索引。可能在您测试的所有客户端中,都有针对这些特定字段/表的索引,并且使用 Order by 使性能更好。

关于SQL 添加 Order By 子句会使查询运行得更快。需要解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64022633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com