mssql sqlserver sql脚本中应尽量避免使用distinct关键字


摘要:
下文讲述sqlserver中应尽量避免使用distinct关键字的原因,如下:

我们都知道distinct关键字的功能是对结果进行“显示唯一值”的操作,但是distinct关键字操作的原理,首先将数据查出来,然后再进行一个唯一的取值操作,这种操作如果涉及排序,那么将是一种开销非常大的方式,
所以在sql中,我们应尽量避免使用distinct关键字,并使用group by关键字代替distinct完成此功能,使用group by 关键字是一种非常高效的做法。
例:

  select distinct a.keyId,a.info from [maomao365.com] a 
  ---可以等价转换为以下group by 语句
   select a.keyId,a.info from [maomao365.com] a 
   group by a.keyId,a.info 

相关阅读:
sqlserver group by 聚合函数用法汇总说明