pingcap/tidb

Parallel evaluation for aggregate functions with distinct in hashAgg

Open

#17,075 opened on 2020年5月10日

GitHub で見る
 (1 comment) (0 reactions) (0 assignees)Go (6,186 forks)batch import
help wantedsig/executiontype/enhancementtype/performance

Repository metrics

Stars
 (40,090 stars)
PR merge metrics
 (平均マージ 14d 4h) (30d で 346 merged PRs)

説明

Development Task

select count(distinct a) from t;

Currently if one of the aggregate functions of a SQL has a distinct evaluation, the hashAgg executor must run in a single thread. See https://github.com/pingcap/tidb/blob/3224393/executor/builder.go#L1207

We may find a method to evaluate it in parallel, maybe a sync.Map for deduplicating entries can be shared in multiple goroutines.

コントリビューターガイド