问题很简单。哪个查询会更快:性能差异:选择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