問題很簡單。哪個查詢會更快:性能差異:選擇top 1 order by vs. select min(val)
SELECT TOP 1 value FROM table ORDER BY value
或
SELECT TOP 1 MIN(value) FROM table
我們可以假設,我們有兩種情況,案例1.沒有索引與案例2.價值指數。
任何見解都值得讚賞。謝謝!
問題很簡單。哪個查詢會更快:性能差異:選擇top 1 order by vs. select min(val)
SELECT TOP 1 value FROM table ORDER BY value
或
SELECT TOP 1 MIN(value) FROM table
我們可以假設,我們有兩種情況,案例1.沒有索引與案例2.價值指數。
任何見解都值得讚賞。謝謝!
在不存在索引的情況下:
當一個索引確實存在:
謝謝。我一直在尋找這樣的答案! – www 2013-03-07 18:48:31
我看到「已批准」進來 - 這總是足夠的感謝。 – 2013-03-07 18:52:38
你不需要調用'TOP 1',因爲'MIN'已經返回一個值。 – 2013-03-07 16:07:47
如果有任何差異,它將取決於所使用的dbms,因此您可能想要添加哪一個您感興趣。 – 2013-03-07 16:13:11
這兩個操作不相等,如果例如在列中存在'NULL'值1' +'order by'將返回NULL,MIN則是最小的非空值。 – Magnus 2013-03-07 16:32:44