184 похожих чатов

Всем привет! Подскажите, пожалуйста, у меня есть таблица:

PARTITION BY toYYYYMM(date)
ORDER BY (A, B, C, D, E)

Я делаю запрос
select A, B, C, D, E, AVG(Measure)
from t
group by A, B, C, D, E
order by A, B, C, D, E
limit 1

И почему-то данный запрос выполняется не очень быстро (1 сек) даже на маленьком объеме (20 млн строк).

Разве в случае "limit 1" и когда "group by" и "order by" полностью совпадает с секцией "order by" в создании таблицы не должно отрабатывать почти моментально? Потому что по логике нам надо взять просто самую первую гранулу и получить по ней первую строчку.

8 ответов

32 просмотра

не совсем optimize_aggregation_in_order нужно включить https://clickhouse.com/docs/en/operations/settings/settings/#optimize_aggregation_in_order

Никита-Ильин Автор вопроса
Никита-Ильин Автор вопроса
Dmitry [Altinity] Titov
не совсем optimize_aggregation_in_order нужно вклю...

После включения почему-то стало даже хуже. Вместо 1 сек теперь 2.5 сек

А Уберите ORDER BY

Никита-Ильин Автор вопроса
Dmitry [Altinity] Titov
А Уберите ORDER BY

Это было с optimize_aggregation_in_order = 0, order by не влияет на время

Никита Ильин
Это было с optimize_aggregation_in_order = 0, orde...

Нет, Проблема с тем что кх не умеет оба GROUP BY / ORDER BY одновременно оптимизировать

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта