Skip to content

GROUP BY vs DISTINCT для селекторов с подключением к Clickhouse #289

@handgunman

Description

@handgunman

В Clickhouse DISTINCT, используемая для выборки данных для селекторов - достаточно дорогая операция.
Намного более эффективным в большинстве случаев является использование GROUP BY

Примеры можно увидеть тот
https://kb.altinity.com/altinity-kb-queries-and-syntax/distinct-vs-group-by-vs-limit-by/

На моих реальных данных выборка данных для селектора с DISTINCT
14 rows in set. Elapsed: 0.690 sec. Processed 53.08 million rows, 176.03 MB (76.91 million rows/s., 255.08 MB/s.)

Peak memory usage: 2.06 MiB.

C GROUP BY
14 rows in set. Elapsed: 0.404 sec. Processed 53.08 million rows, 176.03 MB (131.31 million rows/s., 435.48 MB/s.)

Peak memory usage: 1.87 MiB.

При большом количестве селекторов разница набегает значительная.

Желательно изменить вид операции или дать возможность выбирать один из двух вариантов

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions