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

Коллеги, приветствую! Подскажите, можно ли в CH сделать мат. вьюшку

поверх обычной вьюшки?
Ситуация - есть таблица на 2 миллиарда строк, поверх неё наложена вьюшка, которая немного преобразует столбцы, а количество строк оставляет как есть.
Стоит задача рассчитать и положить на диск пару группировок по уже преобразованным данным.
Хочу решить задачу через материализованные представления, но не получается их заставить "смотреть" на вьюшку,
а копировать логику преобразования полей в мат. представления тоже как-то не хочется.

11 ответов

9 просмотров

А как вы хотите это сделать с уже существующими даннымив таблице через мат вью? Оно не читает исходную таблицу, это триггер на инсерт, оно будет будет читать те небольшие блоки данных, что вы вставляете в эту таблицу, не более того. Чем вам не подходит insert select из вашей вью в соседнюю таблицу?

Дмитрий-Жучков Автор вопроса
Alexander
А как вы хотите это сделать с уже существующими да...

я понимаю, что группировка будет не окончательной, но хоть что-то будет сгруппировано, мне не хватает только способа при вставке данных в исходную таблицу обратиться к вьюшке :)

Дмитрий Жучков
я понимаю, что группировка будет не окончательной,...

Либо вы что-то неправильно понимаете, либо я вас

Дмитрий-Жучков Автор вопроса
Alexander
Либо вы что-то неправильно понимаете, либо я вас

:) да, такое может быть... пойду дальше думать над постановкой задачи, спасибо :)

Дмитрий Жучков
:) да, такое может быть... пойду дальше думать над...

Расскажите, куда вы хотите положить результаты преобразования?

Дмитрий-Жучков Автор вопроса
Alexander
Расскажите, куда вы хотите положить результаты пре...

Есть таблица А, над ней есть вьюшка B, которая меняет набор полей, но не меняет количество строк. Я хочу при вставке в таблицу А отправлять в отдельную таблицу C результат обращения к вьюшке В. Понятно, что можно написать мат.вьюшку над таблицей А, но в ней придётся повторять всю логику изменения полей, которая уже прописана во вьюшке В, вот этого я и хочу избежать

Дмитрий Жучков
Есть таблица А, над ней есть вьюшка B, которая мен...

Обычная view - это "сохранённый запрос на чтение к таблице". К записи туда он никакого отношения не имеет. Поэтому использовать его в матвью(триггере на вставку) не получится

Дмитрий-Жучков Автор вопроса
Alexander
Обычная view - это "сохранённый запрос на чтение к...

я конечно подозревал что всё так и есть, но мечтать не вредно :)

может проще projections прикрутить вместо mat view в таком случае вместе с преобразованиями?

Дмитрий-Жучков Автор вопроса
Slach [altinity]
может проще projections прикрутить вместо mat view...

интересная идея, про projection я не думал... пойду читать документацию

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Карта сайта