Не уверен, понимаю ли я, что Индексированное представление делает за кулисами, в SQLServer

StackOverflow https://stackoverflow.com/questions/1344596

Вопрос

Я использую 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 полей / скопированы ли они в ДРУГОЕ место снова ?или индексное представление создает только некоторые идентификаторы индекса, которые являются данными для таблицы?

Это было полезно?

Решение

ДА.Индексированное представление - это, по сути, другой невидимый таблица, которая обновляется автоматически по мере изменения базовых таблиц.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top