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

Добрый день! Будут ли использоваться партиции по таймстемпу partition by toYYYYMM(toDate(ts)) если далее

будет
argMax(val,ts)
?

10 ответов

17 просмотров

нет

нет, не будут но будет использоваться проекция для max(ts), так что можно такой фокус провернуть, чтобы только из одной партиции читать SELECT val FROM table WHERE ts = (SELECT max(ts) FROM table)

Sergey-Platonov Автор вопроса
ivan
нет, не будут но будет использоваться проекция для...

А вот это я как раз думал попробовать. Спасибо!

Sergey-Platonov Автор вопроса
Denny [Altinity]
нет

То есть патриция будет работать только если будет условие where на ts?

Sergey Platonov
А вот это я как раз думал попробовать. Спасибо!

только учтите, что argMax скипает нуллы и для arg, и для max, так что вам их вручную надо будет отфильтровать, чтобы такой же результат получить

ivan
нет, не будут но будет использоваться проекция для...

так чушь получится, у каждого ключа свой max , SELECT max(ts) FROM table -- это совсем не то

Denny [Altinity]
так чушь получится, у каждого ключа свой max , SEL...

у какого ключа? Сергей вроде спрашивал про argMax(), а не про argMax() group by что-нибудь

Sergey Platonov
А вот это я как раз думал попробовать. Спасибо!

в общем, Сергей, проверьте пример на вашей задаче, потому что мой ответ был про argMax() из всей таблицы если у вас "c, argMax() group by c", то, конечно же, это работать не будет

Sergey-Platonov Автор вопроса
ivan
в общем, Сергей, проверьте пример на вашей задаче,...

У меня Select argMax(a, ts), argMax(b,ts), c from t group by c Проекция: c, max(ts) group by c Дала ускорение на 10% Но вот уменьшения числа читаемых строк не дала.

Sergey Platonov
У меня Select argMax(a, ts), argMax(b,ts), c from ...

не думаю, что проекция c max(ts) вообще используется для запросов с argMax, колонок a и b в проекции же нет ) положите в проекцию argMax, на диске будет лежать argMaxState и строки схлопнутся для отслеживания того, используется ли проекция, есть полезный explain indexes=1

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта