TDH中distinct與groupby的操作分析

2021-10-02 04:04:48 字數 849 閱讀 6194

tdh中distinct與groupby的操作分析

相同數量級的計算,為什麼groupby 會比distinct快

select count(1)

from

(select cust_isn

from

database.table

group by

cust_isn

)select count(distinct(cust_isn)

)from

database.table;

distinct的操作花費24s , groupby的操作花費1s

在這裡插入描述

groupby的dag圖

兩個shuffle階段

最後乙個節點花費 1s

dinstinct的dag圖

乙個shuffle階段

最後一階段花費 24秒

原因總結:

雖然groupby比dinstinct多乙個shuffle操作, 但是由於 groupby有乙個預計計算的task, 導致 groupby要更快

Linq 中 Distinct 的運用

person1 id 1,name test1 person2 id 1,name test1 person3 id 2,name test2 以上list如果直接使用distinct方法進行過濾,仍然返回3條資料,而需要的結果是2條資料。下面給出解這個問題的方法 方法1 distinct 方法中使...

sql中DISTINCT的用法

表a 示例1select distinct name from a執行後結果如下 示例2select distinct name,id from a執行後結果如下 實際上是根據 name id 來去重,distinct同時作用在了name和id上,這種方式access和sql server同時支援。...

SQL中distinct的用法

表a 表b select distinct name from a執行後結果如下 示例2.1 select distinct name,id from a執行後結果如下 實際上是根據name和id兩個欄位來去重的,這種方式access和sql server同時支援。示例2.2 select dist...