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

Всем привет. Ребят на вскидку может скажете. Если в mv

будет джойн таблицы на саму себя, то это джойн будет между батчем и батчем или все таки в основную таблицу полезет?

12 ответов

22 просмотра

Как я помню, левая таблица будет из вставки, правая будет генерить на каждую строчку селект ( это грубо говоря)

Munir- Автор вопроса
Константин
Как я помню, левая таблица будет из вставки, права...

Нуда. Так для разных таблиц и работает. Ну т.е. нет возможности батч сам на себя заджойнить.

можно обмануть, сделать вью (create myview as select * from table) и это myview использовать в matview, но join-ы в mat.view это путь в никуда в любом случае.

Munir- Автор вопроса
Denny [Altinity]
можно обмануть, сделать вью (create myview as sele...

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

Munir
Стоп. Таки джойн будет батча самого на себя, если ...

да, все ссылки на таблицу видят вставляемый батч.

Munir
Стоп. Таки джойн будет батча самого на себя, если ...

это проще можно сделать, без всякого джойн. покажите пример, что есть, что надо

Munir- Автор вопроса
Denny [Altinity]
это проще можно сделать, без всякого джойн. пока...

Сейчас с телефона, вроде проще не сделать. И так мега просто. Есть временной ряд со значениями с датчиков на конвейере, надо разложить его относительно продукта идущего по конвейеру, если известно расстояние между датчиками и трекинг продукта. Потрекингу высчитываем назад значение времён и получаем значения датчиков по этому продукту. Проще сложно сделать. Спасибо! если батч джойнится сам на себя, то все получится.

Munir
Сейчас с телефона, вроде проще не сделать. И так м...

ну например groupArray позволяет все строки с датчиком сложить в массив, дальше пробегаемся по массиву, считаем что надо, и array join разворачиваем назад.

Munir- Автор вопроса
Denny [Altinity]
ну например groupArray позволяет все строки с датч...

В батче пару сотен тысяч строк. Каждый датчик в отдельном столбце. Предполагал несколько мв или несколько джойнов по точкам сбора (на одной точке много датчиков). Если весь батч в массивы загонять, как-то дороже выйдет, могу ошибаться, конечно.

Denny [Altinity]
можно обмануть, сделать вью (create myview as sele...

чем джойны в mat view хуже джойнов в insert? И если они оба одинаковы ужасны, то как тогда строить ETL, денормализуя весь тот ад, который сделан в OLTP системах?

Boris
чем джойны в mat view хуже джойнов в insert? И е...

ETL строить вне в КХ. Делайте джойны в OLTP. в mat.view вы не контролируете сколько раз сделается join, т.е. вы делаете один insert, а мат.вью сработает 10 раз, из-за разбиения на блоки или на партиции, и 10 раз в памяти будет создаваться хеш-таблица

Denny [Altinity]
ETL строить вне в КХ. Делайте джойны в OLTP. в ma...

а известно как много данных должно влететь чтобы mv делила инсерт на блоки?

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
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
Карта сайта