关于T-SQL的Max和Top的性能问题?

时间:2020-11-28 09:06:14
在一张有百万条记录以上的表中,获取符合一定条件记录的最大ID,那种效率会更高些
TOP方式:
SELECT TOP 1 ID FROM MyTable WHERE CLASS = 1 ORDER BY ID DESC

MAX方式:
SELECT MAX(ID) FROM MyTable WHERE CLASS = 1

经我测试在记录较少的时候采用top方式效率相对会高些,但在记录较多的时候没有测试,希望大家发表一下自己建议看法.

5 个解决方案

#1


用max

#2


应该是MAX()

#3


SELECT MAX(ID) FROM MyTable WHERE CLASS = 1

对ID和class分别建立索引,百万级数据都是很快的。

#4


不大清楚二者的运作机制...等待谁来解释一下

#5


同意njz168(飞龙在天)的说法

#1


用max

#2


应该是MAX()

#3


SELECT MAX(ID) FROM MyTable WHERE CLASS = 1

对ID和class分别建立索引,百万级数据都是很快的。

#4


不大清楚二者的运作机制...等待谁来解释一下

#5


同意njz168(飞龙在天)的说法