Я использую sql server 2008 и начал обнаруживать, что использование индексированных представлений помогает мне ускорить некоторые из моих запросов... поскольку моя схема не является базовой.
Итак, если у меня есть таблица, которая выглядит следующим образом...
**ParentTable
ParentId INT PK IDENTITY
Name VARCHAR(MAX)
**ChildTable
ChildId INT PK IDENTITY
ParentId INT (FK to the table above)
Name VARCHAR(MAX)
Boundary GEOGRAPHY
CentrePoint GEOGRAPHY
CentrePointFlattened GEOMETRY
Таким образом, для каждой строки в родительской таблице может быть от нуля до многих дочерних элементов.
Во-первых, если я создам индексное представление дочерних элементов, это не сработает, если поле ParentId может быть нулевым. Поэтому мне нужно сделать это обязательным.
Теперь вопрос.
У меня есть представление индекса внутреннего соединения дочерней таблицы с родительской таблицей (обратите внимание, что я индексирую только некоторые поля из любой таблицы)...
(pseduo sql code)
ParentId INT
Name VARCHAR(MAX) AS ParentName
ChildId INT
Name VARCHAR(MAX) as ChildName
Boundary GEOGRAPHY
Теперь данные для этих 5 полей сериализованы/скопированы в ДРУГОЕ место снова? или представление индекса создает только некоторые идентификаторы индекса, которые являются данными для таблицы?