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

Собственно 79/79 parts, 609223/609223 marks и Read 311702481 rows

правду же говорят?

11 ответов

23 просмотра

А почему должно быть меньше? Фильтров же нет

【D】【J】
А почему должно быть меньше? Фильтров же нет

Ну я так понимаю возмущение, в том, что по идее inner join что то должен отфильтровать

Это намерение. Это ещё до выполнения

Константин
Ну я так понимаю возмущение, в том, что по идее in...

Насколько я знаю inner join не фильтрует в кх. Строка читается потом джойнится при хеш джоин

Константин
Ну я так понимаю возмущение, в том, что по идее in...

Алгоритм хешджойн не так работает. Идём по ВСЕЙ левой, лукапим в хештаблицу

Denny [Altinity]
Это намерение. Это ещё до выполнения

Это результат, конец трейса. Там же гб/с есть

last seen recently 🇹🇼- Автор вопроса
Denny [Altinity]
Алгоритм хешджойн не так работает. Идём по ВСЕЙ ле...

ага, вот и оно. Значит я неправильно понимал работу хеш джойна, спасибо

【D】【J】
Это результат, конец трейса. Там же гб/с есть

Конкретно те строки, из начала трейса.

last seen recently 🇹🇼- Автор вопроса
Denny [Altinity]
Конкретно те строки, из начала трейса.

да я в конце прикрепил Information забыл об этом сказать, сорян

Denny [Altinity]
Алгоритм хешджойн не так работает. Идём по ВСЕЙ ле...

Вспомнил, в экзадате был пушдаун блум фильтра на storage с smartscan. При параллельных джоинах. Но да, это на тоненького. Кстати в кх вполне можно реализовать то же. Минмаксы уже есть. Только надо сначала сделать partitionwise join или как там его общий случай

last seen recently 🇹🇼- Автор вопроса
last seen recently 🇹🇼
ага, вот и оно. Значит я неправильно понимал работ...

решил через проброс фильтра крайне коряво вот так: ``` select distinct domain_name from reports_v0.traffic t inner join ( select c.cid, max(c.competition_level) level from reports_v0.competitors c prewhere c.did = cityHash64('google.com') and c.cid != cityHash64('google.com') group by c.cid having level > 0 limit 100 ) as s1 on t.did = s1.cid prewhere t.did in ( select s2.cid from ( select c.cid, max(c.competition_level) level from reports_v0.competitors c prewhere c.did = cityHash64('google.com') and c.cid != cityHash64('google.com') group by c.cid having level > 0 order by level desc limit 100 ) as s2 ) order by s1.level desc; ``` в логах 7934/609223 marks Processed 4.13 million rows

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

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

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