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