По представлениям и индексам (SQL Server 2008 R2) - PullRequest
1 голос
/ 16 февраля 2012

Я создал серию представлений, которые работают на довольно большом столе.Таблица была правильно проиндексирована, а производительность вполне достаточна.Я хотел бы добавить дополнительный слой представлений в БД, которые фактически являются представлениями представлений.Что я хочу знать, так это то, что SQL Server достаточно умен, чтобы использовать индексы базовой таблицы при построении запроса, или мне нужно каким-то образом индексировать первый уровень представлений?

1 Ответ

2 голосов
/ 16 февраля 2012

Да, это так. Представление (не сохраняется) - это не что иное, как запрос, хранящийся в вашей БД. Если у вас есть представление, называемое view1 как select * from table1, и вы выбираете * из view1, SQL Server автоматически преобразует его для выбора * из table1, а затем строит план выполнения

То же правило применяется, если вы увеличиваете цепочку объектов, добавляя больше представлений.

...