Кластеризованный и некластеризованный индексы (иногда также называемые кластерными и некластерными индексами) в SQL представляют два разных способа организации данных в таблицах и обеспечения быстрого доступа к ним. Вот основные различия между ними:
- Кластеризованный индекс (Clustered Index):
- Кластеризованный индекс определяет физический порядок данных в самой таблице.
- В каждой таблице может быть только один кластеризованный индекс.
- Кластеризованный индекс изменяет фактическое расположение строк в таблице так, чтобы они были упорядочены в соответствии с ключевыми значениями индекса.
- Это означает, что данные в таблице фактически упорядочены на диске в том же порядке, что и в кластеризованном индексе.
- Кластеризованный индекс обеспечивает быстрый доступ к данным, когда выполнение запросов, которые используют ключевые значения индекса.
Пример: Кластеризованный индекс на столбце “ID” в таблице “orders”.
- Некластеризованный индекс (Non-Clustered Index):
- Некластеризованный индекс не определяет физический порядок данных в таблице.
- В таблице может быть создано несколько некластеризованных индексов.
- Некластеризованный индекс создает отдельную структуру данных, которая содержит ссылки на фактические строки данных в таблице.
- Он обеспечивает быстрый доступ к данным, когда выполнение запросов, которые используют ключевые значения индекса, но не изменяет фактическое расположение строк данных на диске.
Пример: Некластеризованный индекс на столбце “LastName” в таблице “employees”.
Общее сравнение:
- Кластеризованный индекс определяет порядок данных в самой таблице и фактически изменяет их расположение на диске.
- Некластеризованный индекс создает дополнительную структуру данных для быстрого доступа к данным, не меняя их фактического расположения.
- Кластеризованный индекс подходит для колонок, которые часто используются в запросах на диапазоны или для упорядоченного извлечения данных.
- Некластеризованный индекс полезен для поиска по другим столбцам, чем тот, по которому упорядочивается таблица, и для выполнения быстрых поисковых операций.