Страницы

Поиск по вопросам

четверг, 25 апреля 2019 г.

Как работают индексированные представления?

После добавления индекса они "материализуются" ?
Если да, то каким образом происходит обновление представления? Например, запрос начал возвращать дополнительные строки. Они пересоздаются по какому-то расписанию?
Имеет ли разницу использовать индексированые представления на часто меняющихся данных или данных, которые редко изменяются?


Ответ

После добавления индекса они "материализуются" ?
Именно так. Добавление уникального кластерного индекса материализует данные, возвращаемые представлением, в этот самый кластерный индекс (т.е., по существу, в отдельную таблицу).
Если да, то каким образом происходит обновление представления? Например, запрос начал возвращать дополнительные строки. Они пересоздаются по какому-то расписанию?
Обновление материализованного представления происходит синхронно с изменением данных в таблицах, на которых оно основано, и инкрементально (индексы представлений не перестраиваются полностью каждый раз при изменении данных, а дополняются или модифицируются).
Представьте, что имеется обычная таблица с дополнительным индексом. Если добавить строк в таблицу, то индекс обновится в соответствии с данными таблицы. Механизм обновления данных материализованного представления аналогичен механизму обновления данных в индексе из данных таблицы.
Поэтому
Имеет ли разницу использовать индексированные представления на часто меняющихся данных или данных, которые редко изменяются?
да, использование индексированных представлений на часто меняющихся данных, как правило, менее желательно, чем на редко меняющихся, т.к. наличие индексированного представления будет замедлять изменение этих данных.
Достаточно большое число специальных требований и ограничений, которым должно удовлетворять представление, чтобы его можно было материализовать (привязка к схеме, требования детерминированности, невозможность использования неаддитивных агрегирующих функций), связано именно с реализацией материализованных представлений в виде индекса и инкрементальностью обновления данных в них.

Комментариев нет:

Отправить комментарий