В документации не нашёл информации
mat view под капотом обычная таблица, можете делать что угодно, индексы вешать тоже
Тогда почему explain не показывает что индекс применяется на мат. вью? Только на table показывает
покажите как создана вью и индекс?
INDEX name_index Name Type ngrambuf_v1(2,512,2, 0) вот так задан индекс в мат вью
это ниочём не говорит) на какой таблице это висит? materialize index сделали?
materialize index нет, в доке мало информации как сделать можно какой нибудь простой пример?
Висит на ReplicatedMergeTree таблице
https://clickhouse.com/docs/ru/sql-reference/statements/alter/index/ ALTER TABLE [db.]table MATERIALIZE INDEX name_index IN PARTITION если таблица большая лечше по партициям прогонять, на маленькой IN PARTITION можно опустить. Это будет мутация, поэтому добавление будет асинхронно, надо дождаться конца select * from system.mutations where is_done = 0
эта таблица указана в TO в materialized view?
Да указана и индекс создался и таблица
Не могу понять как индекс создать на мат вью?
каким запросом читаете из таблицы что индекс не применяется?
INDEX name_index Name Type ngrambuf_v1(2,512,2, 0) вот так задан индекс в мат вью
Select count() from table where like '%тек%' или MultiSearchAny
show create table table можете показать? надеюсь это не мат вью?
Через Add индекс не добавляется в materialized view
mat view это триггер на инсерт, туда нет смысла добавлять, данные там не хранятся вам надо повесить на таблицу в TO, и данные читать тоже оттуда
Как это сделать? Можно простой пример
ответьте для начала show create table table можете показать? надеюсь это не мат вью?
У меня есть обычная таблица семейства ReplicatedMergeTree на неё навестил мат вью хочу искать строку через индекс пропуска данных. На обычной таблице explan indexes=1 показывает что индекс заиспользован на мат вью не показывает вот и задал вопрос почему или может неправильно индекс на мат вью создаю
show create table table можете показать?
Мат вью или таблицы показать?
из вашего запроса Select count() from table where like '%тек%' или MultiSearchAny
у вас source таблица ReplicatedMergeTree, потом вы вешаете mv Materialized View в которм указываете TO dest ReplicatedMergeTree, индекс вы должны повесить на таблицу dest и запросы делать из неё же ALTER TABLE dest ADD INDEX ngrm_idx column TYPE ngrambf_v1(3,512,2,0) GRANULARUTY 4 ALTER TABLE dest MATERIALIZE INDEX ngrm_idx
Попробовал при добавлении индекса выдаёт Add INDEX is not supported by storage MaterializedView
вы добавляете в mv а не в dest, я же написал, так делать не надо, в MV данных нет, вы должны добавить индекс в dest и запросы тоже через dest
Что такое dest таблица не совсем понятно ?
таблица в которую пишет materialized view, указывается в секции TO CREATE MATERIALIZED VIEW mv TO dest AS SELECT … FROM source
Обсуждают сегодня