Давайте сначала посмотрим на вещи с действительно высокого уровня. Отношение - это отображение между кортежами и логическими значениями (обычно true, false и null, но теоретически их может быть гораздо больше).
Отношение отец / сын отображает кортеж формы (человек, человек) в набор {true, false, null}.
Таким образом, в идеальном мире вы могли бы спросить всезнающую сущность (то есть оракула) о любой паре отец / сын и получить ответ да / нет / *. 1005 *
Теперь компьютер, очевидно, не может обыскать все пространство всех возможных пар отца и сына. Вы должны сказать, с чего начать поиск и как далеко искать, прежде чем он сдастся. Вот что такое «стол». Мы традиционно думаем о таблицах как о наборах, но на самом деле мы должны думать о них более явно как о границах пространства поиска.
Индекс, как вы знаете, это просто способ организации данных, чтобы он мог быстрее выполнять поиск в таблице (проводить меньше сравнений). Таким образом, индекс - это способ дальнейшего сокращения вашего пространства поиска (но в каждом конкретном случае).
Теперь, когда вы пишете запрос, который объединяет таблицы T_1, T_2, T_3 ..., T_n, оптимизатор запросов пытается расположить их так, чтобы он сначала рассматривал таблицы с наименьшим пространством поиска. Кроме того, окончательный набор результатов будет индексируемым (т. Е. Пространство поиска будет сокращаемым), а не составляющими таблицами (например, вы можете объединять строки в операторе select)
Когда вы «индексируете» представление, все, что вы делаете, говорит SQL Server запомнить структуру индекса в представлении, чтобы в будущем он мог использовать его в каком-то другом аналогичном Специальный запрос, который вы создаете.
Например, в рамках большого сложного запроса (BCQ) вы можете объединять строки в столбцах c1 и c2. Обычно это довольно большое пространство поиска, но с индексированным представлением оптимизатор запросов понял бы, что у него уже есть индекс в пространстве объектов, имеющих форму c1 + c2. Кроме того, оптимизатор запросов может уменьшить BCQ до одного или двух (или трех или ...).