-
Notifications
You must be signed in to change notification settings - Fork 94
Description
В 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.
При большом количестве селекторов разница набегает значительная.
Желательно изменить вид операции или дать возможность выбирать один из двух вариантов