ИндексыIndexes

В следующей таблице приведен список типов индексов, доступных в SQL ServerSQL Server , а также указаны ссылки на дополнительные сведения.The following table lists the types of indexes available in SQL ServerSQL Server and provides links to additional information.

Тип индексаIndex type ОписаниеDescription Дополнительные сведенияAdditional information
ХэшHash При использовании хэш-индекса доступ к данным осуществляется через хэш-таблицу в памяти.With a hash index, data is accessed through an in-memory hash table. Хэш-индексы используют фиксированный размер памяти, который зависит от числа контейнеров.Hash indexes consume a fixed amount of memory, which is a function of the bucket count. Рекомендации по использованию индексов в таблицах, оптимизированных для памятиGuidelines for Using Indexes on Memory-Optimized Tables
некластеризованные индексы с оптимизацией для памятиmemory-optimized nonclustered indexes Для оптимизированных для памяти некластеризованных индексов потребление памяти является функцией от количества строк и размера ключевых столбцов индексаFor memory-optimized nonclustered indexes, memory consumption is a function of the row count and the size of the index key columns Рекомендации по использованию индексов в таблицах, оптимизированных для памятиGuidelines for Using Indexes on Memory-Optimized Tables
КластеризованныйClustered Кластеризованный индекс сортирует и хранит строки данных таблицы или представления в порядке, определяемом ключом кластеризованного индекса.A clustered index sorts and stores the data rows of the table or view in order based on the clustered index key. Кластеризованный индекс реализуется в виде сбалансированного дерева, которое поддерживает быстрое получение строк по значениям ключа кластеризованного индекса.The clustered index is implemented as a B-tree index structure that supports fast retrieval of the rows, based on their clustered index key values. Описание кластеризованных и некластеризованных индексовClustered and Nonclustered Indexes Described

Создание кластеризованных индексовCreate Clustered Indexes
НекластеризованныйNonclustered Некластеризованный индекс можно определить в таблице или представлении вместе с кластеризованным индексом или в куче.A nonclustered index can be defined on a table or view with a clustered index or on a heap. Каждая строка некластеризованного индекса содержит некластеризованное ключевое значение и указатель на строку.Each index row in the nonclustered index contains the nonclustered key value and a row locator. Этот указатель определяет строку данных кластеризованного индекса или кучи, содержащую ключевое значение.This locator points to the data row in the clustered index or heap having the key value. Строки в индексе хранятся в порядке, определяемом значениями ключа индекса, но до создания кластеризованного индекса в таблице нет никакой гарантии того, что строки данных будут расположены в каком-либо определенном порядке.The rows in the index are stored in the order of the index key values, but the data rows are not guaranteed to be in any particular order unless a clustered index is created on the table. Описания кластеризованных и некластеризованных индексовClustered and Nonclustered Indexes Described

Создание некластеризованных индексовCreate Nonclustered Indexes
УникальныйUnique Уникальный индекс обеспечивает отсутствие повторяющихся значений ключа индекса, что, в свою очередь, приводит к тому, что каждая строка в таблице или представлении является в каком-то смысле уникальной.A unique index ensures that the index key contains no duplicate values and therefore every row in the table or view is in some way unique.

Как кластеризованные, так и некластеризованные индексы могут быть уникальными.Uniqueness can be a property of both clustered and nonclustered indexes.
Создание уникальных индексовCreate Unique Indexes
columnstoreColumnstore Индекс columnstore в памяти хранит данные и управляет данными с использованием основанного на столбцах хранилища данных и обработки запросов.An in-memory columnstore index stores and manages data by using column-based data storage and column-based query processing.

Индексы Columnstore подходят для рабочих нагрузок хранилища данных, которые выполняют в основном массовую загрузку и запросы только для чтения.Columnstore indexes work well for data warehousing workloads that primarily perform bulk loads and read-only queries. Используйте индекс columnstore для повышения производительности запросов максимум в 10 раз относительно традиционного хранилища, основанного на строках, и повышения эффективности сжатия данных до 7 раз относительно несжатых данных.Use the columnstore index to achieve up to 10x query performance gains over traditional row-oriented storage, and up to 7x data compression over the uncompressed data size.
Описание индексов columnstoreColumnstore Indexes Described

Использование некластеризованных индексов columnstoreUsing Nonclustered Columnstore Indexes

Использование кластеризованных индексов ColumnstoreUsing Clustered Columnstore Indexes
Индекс с включенными столбцамиIndex with included columns Некластеризованный индекс, дополнительно содержащий кроме ключевых столбцов еще и неключевые.A nonclustered index that is extended to include nonkey columns in addition to the key columns. Создание индексов с включенными столбцамиCreate Indexes with Included Columns
Индекс на вычисляемых столбцахIndex on computed columns Индекс на столбце, являющемся производным от одного или нескольких других столбцов или нескольких детерминированных источников.An index on a column that is derived from the value of one or more other columns, or certain deterministic inputs. Индексы для вычисляемых столбцовIndexes on Computed Columns
ФильтруемыйFiltered Оптимизированный некластеризованный индекс, в особенности подходящий для покрытия запросов из хорошо определенного подмножества данных.An optimized nonclustered index, especially suited to cover queries that select from a well-defined subset of data. Он использует предикат фильтра для индексирования части строк в таблице.It uses a filter predicate to index a portion of rows in the table. Хорошо спроектированный отфильтрованный индекс позволяет повысить производительность запросов, снизить затраты на обслуживание и хранение индексов по сравнению с полнотабличными индексами.A well-designed filtered index can improve query performance, reduce index maintenance costs, and reduce index storage costs compared with full-table indexes. Создание отфильтрованных индексовCreate Filtered Indexes
ПространственныйSpatial Пространственный индекс обеспечивает возможность более эффективного использования определенных операций с пространственными объектами (пространственными данными) в столбце типа данных geometry .A spatial index provides the ability to perform certain operations more efficiently on spatial objects (spatial data) in a column of the geometry data type. Пространственные индексы снижают количество объектов, к которым должны применяться пространственные операции, требующие больших затрат.The spatial index reduces the number of objects on which relatively costly spatial operations need to be applied. Общие сведения о пространственных индексахSpatial Indexes Overview
XMLXML Вырезанное материализованное, представлением большим двоичным объектам XML (BLOB) в xml столбце с типом данных.A shredded, and persisted, representation of the XML binary large objects (BLOBs) in the xml data type column. XML-индексы (SQL Server)XML Indexes (SQL Server)
ПолнотекстовыйFull-text Специальный тип функционального индекса, основанный на токене, построенный и поддерживаемый средством полнотекстового поиска (Майкрософт) для SQL ServerSQL Server.A special type of token-based functional index that is built and maintained by the Microsoft Full-Text Engine for SQL ServerSQL Server. Он обеспечивает эффективную поддержку сложных операций поиска слов в символьных строковых данных.It provides efficient support for sophisticated word searches in character string data. Заполнение полнотекстовых индексовPopulate Full-Text Indexes

Параметр SORT_IN_TEMPDB для индексовSORT_IN_TEMPDB Option For Indexes

Отключение индексов и ограниченийDisable Indexes and Constraints

Включение индексов и ограниченийEnable Indexes and Constraints

Переименование индексовRename Indexes

Установка параметров индексаSet Index Options

Disk Space Requirements for Index DDL OperationsDisk Space Requirements for Index DDL Operations

Реорганизация и перестроение индексовReorganize and Rebuild Indexes

Указание коэффициента заполнения для индексаSpecify Fill Factor for an Index

См. такжеSee Also

Описание кластеризованных и некластеризованных индексовClustered and Nonclustered Indexes Described