Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
Azure SQL База данных
Azure SQL Управляемый экземпляр
SQL База данных в Microsoft Fabric
Доступные типы индексов
В следующей таблице перечислены типы индексов, доступные в SQL Server, и ссылки на дополнительные сведения.
| Тип индекса | Description | Дополнительные сведения |
|---|---|---|
| Hash | При использовании хэш-индекса доступ к данным осуществляется через хэш-таблицу в памяти. Хэш-индексы используют фиксированный размер памяти, который зависит от числа контейнеров. |
Индексы для оптимизированных для памяти таблиц Рекомендации по проектированию хэш-индексов |
| Оптимизированный по памяти некластерный | Для оптимизированных для памяти некластеризованных индексов потребление памяти является функцией от количества строк и размера ключевых столбцов индекса |
Индексы для оптимизированных для памяти таблиц Рекомендации по проектированию некластеризованных индексов, оптимизированных для памяти |
| Clustered | Кластеризованный индекс сортирует и хранит строки данных таблицы или представления в порядке, определяемом ключом кластеризованного индекса. Кластеризованный индекс реализуется в виде сбалансированного дерева, которое поддерживает быстрое получение строк по значениям ключа кластеризованного индекса. |
Кластеризованные и некластеризованные индексы Создание кластеризованного индекса Правила проектирования кластеризованного индекса |
| Nonclustered | Некластеризованный индекс можно определить в таблице или представлении вместе с кластеризованным индексом или в куче. Каждая строка некластеризованного индекса содержит некластеризованное ключевое значение и указатель на строку. Этот указатель определяет строку данных кластеризованного индекса или кучи, содержащую ключевое значение. Строки в индексе хранятся в порядке значений ключа индекса, но строки данных не гарантированы в определенном порядке, если в таблице не создается кластеризованный индекс. |
Кластеризованные и некластеризованные индексы Создание некластеризованных индексов Рекомендации по созданию некластеризованных индексов |
| Unique | Уникальный индекс обеспечивает отсутствие повторяющихся значений ключа индекса, что, в свою очередь, приводит к тому, что каждая строка в таблице или представлении является в каком-то смысле уникальной. Как кластеризованные, так и некластеризованные индексы могут быть уникальными. |
Создание уникального индекса Правила по созданию уникальных индексов |
| Columnstore | Индекс columnstore в памяти хранит данные и управляет данными с использованием основанного на столбцах хранилища данных и обработки запросов. Индексы Columnstore подходят для рабочих нагрузок хранилища данных, которые выполняют в основном массовую загрузку и запросы только для чтения. Используйте индекс columnstore для повышения производительности запросов максимум в 10 раз относительно традиционного хранилища, основанного на строках, и повышения эффективности сжатия данных до 7 раз относительно несжатых данных. |
Индексы Columnstore: обзор Рекомендации по проектированию индексов columnstore |
| Индекс с включенными столбцами | Некластеризованный индекс, дополнительно содержащий кроме ключевых столбцов еще и неключевые. | Создание индексов с включенными столбцами |
| Индекс на вычисляемых столбцах | Индекс на столбце, являющемся производным от одного или нескольких других столбцов или нескольких детерминированных источников. | Индексы вычисляемых столбцов |
| Filtered | Оптимизированный некластеризованный индекс, в особенности подходящий для покрытия запросов из хорошо определенного подмножества данных. Он использует предикат фильтра для индексирования части строк в таблице. Хорошо спроектированный отфильтрованный индекс позволяет повысить производительность запросов, снизить затраты на обслуживание и хранение индексов по сравнению с полнотабличными индексами. |
Создание отфильтрованных индексов Рекомендации по проектированию отфильтрованных индексов |
| Spatial | Пространственный индекс обеспечивает возможность более эффективного использования определенных операций с пространственными объектами (пространственными данными) в столбце типа данных geometry . Пространственные индексы снижают количество объектов, к которым должны применяться пространственные операции, требующие больших затрат. | Общие сведения о пространственных индексах |
| XML | Вырезанное материализованное представление больших двоичных XML-объектов в столбце с типом данных xml. | XML-индексы (SQL Server) |
| Full-text | Специальный тип функционального индекса на основе токенов, который создается и поддерживается подсистемой Полнотекстовых данных Майкрософт для SQL Server. Он обеспечивает эффективную поддержку сложных операций поиска слов в символьных строковых данных. | Заполнение полнотекстовых индексов |
Note
В документации термин B-tree обычно используется в ссылке на индексы. В индексах rowstore ядро СУБД реализует дерево B+. Это не относится к индексам columnstore или индексам в таблицах, оптимизированных для памяти. Дополнительные сведения см. в руководстве по архитектуре и проектированию индексов SQL Sql Server и Azure.
Связанный контент
- Руководство по архитектуре и разработке индексов SQL Server и Azure SQ
- Параметр SORT_IN_TEMPDB для индексов
- Отключение индексов и ограничений
- Включение индексов и ограничений
- Переименование индексов
- Установка параметров индекса
- Требования к свободному месту на диске для операций DDL над индексами
- Оптимизация обслуживания индексов позволяет повысить производительность запросов и снизить уровень потребления ресурсов
- Указание коэффициента заполнения для индекса
- Руководство по архитектуре страниц и экстентов
- Кластеризованные и некластеризованные индексы