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

Листаю issues на гитхабе, но их дофига, и некоторые читаю

не по своему вопросу, для кругозора. Может, здесь кто подскажет быстрее. Это нормально, что условие из запроса на view, на столбец, который является ключом для исходной таблицы, не оптимизируется?

Table metrics_raw
(
itemid Int64,
clock DateTime,
value Decimal64(4)
)
ENGINE = ReplicatedMergeTree( ... )
PARTITION BY toYYYYMMDD(clock)
ORDER BY (itemid, clock);

Table metrics_hour_state
(
itemid Int64,
clock DateTime,
value AggregateFunction(avg, Decimal64(4))
)
ENGINE = ReplicatedAggregatingMergeTree( ... )
PARTITION BY toYYYYMMDD(clock)
ORDER BY (itemid, clock);

MV aggregator_hour
TO metrics_hour_state AS
SELECT
itemid,
toStartOfHour(clock) clock,
avgState(value) value
FROM metrics_raw
GROUP BY itemid, clock;

View metrics_hour
AS
SELECT itemid, clock, avgMerge(value) value
FROM metrics_hour_state
GROUP BY itemid, clock;

Запрос
select itemid, clock, value from metrics_hour where itemid = 54321
Приводит к полному сканированию metrics_hour_state.

1 ответов

7 просмотров
Sergei- Автор вопроса

уточню вопрос: а) ожидается ли появление оптимизации б) есть ли более изящное решение здесь и сейчас, чем переписывать запрос без обращения к view, как SELECT itemid, clock, avgMerge(value) value FROM metrics_hour_state WHERE itemid = 54321 GROUP BY itemid, clock разница по потреблению памяти между ними огромная, 1536 МБ против 32 МБ (примерно)

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

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

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