哪个更有效率?
SELECT theField FROM theTable GROUP BY theField
要么
SELECT DISTINCT theField FROM theTable
dub.. 29
在您的示例中,两个查询都将生成相同的执行计划,因此它们的性能将相同.
但是,它们都有自己的目的.为了使代码更易于理解,您应该使用distinct来消除重复的行,并使用group by来应用聚合运算符(sum,count,max,...).
在您的示例中,两个查询都将生成相同的执行计划,因此它们的性能将相同.
但是,它们都有自己的目的.为了使代码更易于理解,您应该使用distinct来消除重复的行,并使用group by来应用聚合运算符(sum,count,max,...).
无所谓,它会产生相同的执行计划.(至少对于这些查询).通过使查询分析器或SSMS能够在运行查询后显示执行计划以及服务器跟踪统计信息,这些问题很容易解决.
在大多数情况下,DISTINCT和GROUP BY生成相同的计划,它们的性能通常相同
您可以查看执行计划以查找此语句的总成本.答案可能因情况而异.