Использование индексов
Планирование индексов Создание индексов XML-индексы
Таблица без кластеризованного индекса Нет определенного порядка хранения страниц Куча idindex_id=0first_iam_page Страница IAM Страницы данных
Один кластеризованный индекс на таблицу Сбалансированное дерево хранит страницы данных в порядке, определяемом ключом индекса Конечные узлы idindex_id=1root_page Промежуточный уровень Страницы индекса Корневая страница Страницы данных
Сбалансированное дерево ссылается на кучу или кластеризованный индекс До 249 некластеризованных индексов на таблицу Куча или кластеризованный индекс idindex_id>1root_page Конечные узлы Корневая страницы Страницы индекса Страницы данных
Планирование индексов Создание индексов XML-индексы
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED ] INDEX index_name ON { table | view } ( column [ ASC | DESC] [,... n ] ) INCLUDE ( column [,... n ] ) [ WITH option [,... n ] ] [ ON { partition_scheme (column) | filegroup | default } ] Используйте SQL Server Management Studio или выражение Transact-SQL CREATE INDEX
Включенные столбцы Составные индексы Определяйте наиболее уникальный столбец первым Включает до 16 столбцов и 900 байт в ключе Неключевые столбцы, включенные в индекс CREATE NONCLUSTERED INDEX AK_Employee_LoginID ON HumanResources.Employee ( LoginID ASC) INCLUDE ( ContactID, NationalIDNumber ) CREATE NONCLUSTERED INDEX K_Contact_LastName_First Name ON Peson.Contact ( LastName ASC, FirstName ASC ) Улучшают покрытие и производительность запросов
По вычисляемому столбцу можно создать индекс, если: Параметр NUMERIC_ROUNDABORT установлен как OFF Выражение является детерминированным и точным Параметр уровня соединения ANSI_NULLS установлен как ON Столбец не использует типы данных text, ntext или image Обязательные параметры установлены как ON при создании или обновлении индекса Оптимизатор запросов может проигнорировать индекс по вычисляемому столбцу Оптимизатор запросов может проигнорировать индекс по вычисляемому столбцу
Планирование индексов Создание индексов XML-индексы
XML могут быть созданы для столбцов типа xml Представляет узлы xml-данных в виде сбалансированного дерева XML могут быть созданы для столбцов типа xml Представляет узлы xml-данных в виде сбалансированного дерева Категории XML индексов: Первичный XML индекс Вторичный XML индекс
Тип индекса Описание Первичный Кластеризованное представление узлов, содержащихся в столбце xml, в виде сбалансированного дерева Вторичные PATHДля запросов, использующих для выбора данных пути и значения PROPERTYДля запросов, использующих пути для выбора данных VALUEДля запросов, использующих для выбора данных неточные пути