pingcap/tidb
View on GitHubParallel evaluation for aggregate functions with distinct in hashAgg
Open
#17,075 opened on May 10, 2020
help wantedsig/executiontype/enhancementtype/performance
Repository metrics
- Stars
- (40,090 stars)
- PR merge metrics
- (Avg merge 14d 4h) (346 merged PRs in 30d)
Description
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.