两个SQL查询的速度越快,排序并选择前1个,或选择MAX

Ron*_*Ron 6 sql sql-server

以下两个查询中哪个更快?

1

SELECT TOP 1 order_date
FROM         orders WITH (NOLOCK)
WHERE customer_id = 9999999
ORDER BY order_date DESC
Run Code Online (Sandbox Code Playgroud)

2

SELECT MAX(order_date)
FROM         orders WITH (NOLOCK)
WHERE customer_id = 9999999
Run Code Online (Sandbox Code Playgroud)

Qua*_*noi 10

索引打开时order_date,它们具有相同的性能.

如果没有索引,MAX会快一点,因为它会使用Stream Aggregation而不是Top N Sort.