Materialized views - специальный тип представлений, который так же, как и стандартное представление является хранимым запросом. Но в отличие от стандартного представления материализованное хранит уже данные, а не просто направление к ним. Т.е. результат запроса материализуется и становится похожим на обычную таблицу, к которой мы можем писать запросы. Процесс материализации и обновления представления происходит в заданный интервал времени на основе изменений в базовых таблицах, к которым это представление обращается.
Когда использовать: материализованные представления хорошо подходят в случаях, когда запросы к стандартным представлениям становятся слишком медленными и снижают эффективность работы.
Когда не использовать: нужно понимать, что любая материализация данных требует дополнительных ресурсов хранения, поэтому не нужно, например, создавать материализованные представления, чтобы повысить скорость выполнения запроса по сравнению со стандартным представлением, если использование стандартного представления вполне приемлемо и не снижает вашу эффективность.
Также нужно отталкиваться от особенностей конкретной СУБД. Например, в Snowflake обновление
материализованного представления, является автоматическим процессом, который требует дополнительных расходов. Поэтому, чем чаще изменяется базовая таблица, тем чаще происходит автоматическое обновление представления и тем больше расходов вы понесёте на их поддержку. Поэтому, ко всему нужно подходить с умом.
В следующий раз сделаю похожий пост про партиции и индексы.
Post #151
1.72K
- 🔥 1