经实际测试,同等条件下,5千万条数据,Distinct比Group by效率高,但是,这是有条件的,这五千万条数据中不重复的仅仅有三十多万条,这意味着,五千万条中基本都是重复数据。
为了验证,重复数据是否对其有影响,本人针对80万条数据进行测试:
下面是对CustomerId去重,CustomerId的重复项及其多,80万条中仅仅50条不重复的。可以看到,Distinct更快。
下面是对Id去重,Id基本唯一,80万条中没有重复的。可以看到,Group By更快。
综上所述,其他条件一定时,数据重复项越多,distinct效率越高,反之,数据越唯一,group by效率越高。