小编Shm*_*iel的帖子

SQL 中 TOP 和 MAX()/MIN() 的区别

根据我的经验,如果您的数据库中有数千/数百万行,如本答案以及我在这里回答的内容和提问者的回答SELECT TOP中所示,则要快得多。SELECT MIN()MAX()

\n

我的问题是为什么,根据我的理解,TOP查看数据SELECT column FROM table与执行 a 时相同ORDER BY column,它会对结果进行排序,然后只给出行,而MIN()/MAX()函数实际上应该只查看每一行,检查该行的总和行,然后转到下一行,如果该行是><前一行,则将结果保存在函数中取决于它是否为 saMAX()或 a MIN(),而这正是ORDER BY应该做的。

\n

请不要回答,根据您的经验, 比MAX()更好TOP,因为问题实际上是MAX()/MIN()和之间有什么区别TOP?两者都查看每一行的数据,并且都可能是log(n)

\n

回复@JD:

\n
\n

一个简单的例子是,如果您使用 TOP 而不使用 ORDER BY 子句。然后,您将返回的最高结果可能是不确定的,并且并不总是必须与 MAX() 聚合函数引用的同一行。

\n
\n

当然,我只是问你何时使用ORDER BY …

sql-server aggregate query-performance

0
推荐指数
2
解决办法
4964
查看次数

标签 统计

aggregate ×1

query-performance ×1

sql-server ×1