(...) engine = MergeTree() order by (...);
create materialized view data engine = MergeTree() order by (...) as select (...) from data_raw;
insert into data_raw ...; -- тут вставляю данные в исходную таблицу
select count() from data_raw; -- вижу данные
select count() from data; -- тоже вижу
rename table data_raw to data_raw_2;
rename table data to data_2;
select count() from data_raw_2; -- вижу данные
select count() from data; -- тоже вижу
insert into data_raw_2 ...; -- вставляю еще строки
select count() from data_raw_2; -- вижу новые данные
select count() from data_2; -- не вижу новых данных
ЧЯДНТ?
Не знаю корректный ответ, но проверил бы: при создании matview (без TO ...)создается две таблицы. В вашем случае data (триггер слушающий вставки в data_raw) и .inner.data таблица где хранятся данные mv Скорее всего вы переименовали лишь тригерную часть, данные продолжают падать в .inner.data show tables проверьте.
detach table data attach materialized view data as select (...) from data_raw2; https://gist.github.com/den-crane/3a8d57253711e277b2a60a75b5dfeef6 https://gist.github.com/den-crane/431010ca08b9e51b960e55344b1dbbe3
Обсуждают сегодня