Это ожидаемое поведение. Материализованные представления в виде снежинок отличаются от представлений в других базах данных. Два важных момента:
1) Снежинка автоматически и прозрачно поддерживает материализованные представления.
2) Материализованные представления всегда предоставляют текущие данные . Если запрос выполняется до того, как материализованное представление обновляется, Snowflake либо обновляет материализованное представление, либо использует обновленные части материализованного представления и извлекает все необходимые более новые данные из базовой таблицы.
Так что вам не нужно беспокоиться об обновлениях. Время от времени он будет обновляться в фоновом режиме (на основе некоторых критериев, таких как размер DML, количество DML, время). Когда он будет обновлен, вы сможете увидеть, когда проверили столбец refreshed_on в выходных данных команды SHOW.
---------- Дополнительная информация ----------- ---
MV хранит данные в своих собственных файлах данных. Команда SHOW показывает «когда данные обновляются», «сколько строк в них содержится» et c ... Мариус видел 2 строки, потому что у MV в этой точке было 2 строки. Когда Мариус добавит больше строк в исходную таблицу, MV не скопирует их сразу. Существуют некоторые пороговые значения, но если вы попытаетесь прочитать из MV, MV будет считывать дельту из исходной таблицы и постоянно предоставлять текущие данные. Пользователям не нужно беспокоиться о «behind_by», «refreshed_on» или «количестве строк» (если задержка составляет несколько дней).
Таким образом, команда SHOW и MV работают, как и ожидалось.