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

А есть какие-нибудь рекомендации по использованию optimize_aggregation_in_order кроме проверки методом

тыка? Я вчера ускорил таким образом один запрос более чем в 10 раз, а сегодня другой запрос наоборот в 10 раз медленнее стал. Не понимаю как он работает.

8 ответов

26 просмотров

А можно запросы посмотреть? Очень интересно

Alexey-Sokolov Автор вопроса
Quahim 🇲🇦
А можно запросы посмотреть? Очень интересно

Ускорился такой: select t.ID , anyLast(t.field1) as field1 , anyLast(t.field2) as field2 ... , anyLast(t.fieldN) as fieldN from ReplacingMT t group by t.ID settings optimize_aggregation_in_order = 1 ReplacingMT - соответственно, ReplacingMergeTree с ключом ID А такой замедлился: select t.ID , argMaxMerge(t.field1state) as field1 , toDate(max(t.maxdt), 'Europe/Moscow') as dt from AggregatingMT t group by t.ID settings optimize_aggregation_in_order = 1 AggregatingMT - соответственно, AggregatingMergeTree(field1state AggregateFunction(argMax, Int64, Int32), maxdt SimpleAggregateFunction(max, Int32)) с ключом ID

optimize_aggregation_in_order это не ускорение запросов, а про использование памяти, это стриминг и если кардинальность очень большая, например 100 миллионов, миллиад, то параметр сокращает использование памяти например в 1000 раз, т.е. иногда без него вообще невозможно выполнить запрос, потому что нужен TB озу.

Alexey Sokolov
Ускорился такой: select t.ID , anyLast(t.field...

зависит от кол-ва строк. наверняка в ReplacingMT очень много строк

Alexey-Sokolov Автор вопроса
Denny [Altinity]
зависит от кол-ва строк. наверняка в ReplacingMT о...

200млн в ускорившейся (и да, если без фильтров её группировать, то она упиралась в память или требовала группировок на диске, а с оптимизацией сгруппировалась без фильтров) 420млн в замедлившейся

Alexey Sokolov
200млн в ускорившейся (и да, если без фильтров её ...

странно, может баг. а сколько строк на один ID в той и этой таблицах в среднем?

Alexey-Sokolov Автор вопроса
Denny [Altinity]
странно, может баг. а сколько строк на один ID в...

ну это было на 20.8, прямо сейчас её на 21.11 обновляем, попозже смогу ответить и проверить на новой версии

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта