Понятие о представлениях
Хотя конструктор запросов Query Designer облегчает обращение к таблицам в вашей базе данных, постоянная корректировка или создание оператора запроса каждый раз заново может оказаться слишком утомительным и трудоемким. SQL Server предоставляет средства для хранения оператора SELECT в виде представления. В большинстве случаев данные, отображаемые представлением, не являются данными, хранящимися в базе данных, – в представлении хранится только оператор SELECT.
Вы можете считать представление виртуальной таблицей. Она может использоваться точно так же, как обычная таблица. Возможность использования результатов выполнения одного оператора SELECT в качестве входной информации для другого оператора SELECT является одним из фундаментальных требований реляционной модели. Это требование основано на принципе замкнутости.
Индексированные представления
Новое в SQL Server 2000 – это его способность создавать индекс для представления. Если вы индексируете вид, результирующее множество представления хранится в базе данных и модифицируется при любой модификации базовых таблиц и представлений. При определенных обстоятельствах это может существенно улучшить производительность, поскольку нет необходимости пересчитывать результирующее множество при каждой ссылке на него.
Индексированные представления работают лучше, если базовые данные меняются не слишком часто; в противном случае затраты на сопровождение индексированного представления будут выше, чем если бы вы пересчитывали представление по мере необходимости. Индексированные представления лучше всего использовать для следующих двух типов запросов:
- запросы связывания и агрегирования, которые обрабатывают большое количество строк;
- операции связывания и агрегирования, которые часто выполняются в других запросах.