Не уверен, понимаю ли я, что Индексированное представление делает за кулисами, в SQLServer
-
20-09-2019 - |
Вопрос
Я использую 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
Таким образом, для каждой строки в родительской таблице она может иметь от нуля до множества дочерних элементов.
Во-первых, если я создам индексированное представление дочерних элементов, это не сработает, если указанный родительский идентификатор может быть обнуляемым.Поэтому мне нужно сделать это обязательным.
Теперь вопрос.
У меня есть индексное представление дочерней таблицы, внутренне присоединенной к родительской таблице (обратите внимание, что я индексирую только некоторые поля из любой таблицы)...
(pseduo sql code)
ParentId INT
Name VARCHAR(MAX) AS ParentName
ChildId INT
Name VARCHAR(MAX) as ChildName
Boundary GEOGRAPHY
Теперь, сериализованы ли данные для этих 5 полей / скопированы ли они в ДРУГОЕ место снова ?или индексное представление создает только некоторые идентификаторы индекса, которые являются данными для таблицы?
Решение
ДА.Индексированное представление - это, по сути, другой невидимый таблица, которая обновляется автоматически по мере изменения базовых таблиц.