Indexes
Что это
Index – это особые таблицы, используемые поисковыми системами для поиска данных. Их активное использование
играет важнейшую роль в повышении производительности sql серверов. Индексы добавляют время выполнений всех
изменяющих операций
Виды индексов
- Кластеризованный
- Хранит реальные строки данных в листьях индекса.
- Все значения отсортированы в определенном порядке либо возрастания, либо убывания.
- Таблица или представление может иметь только один кластеризованный индекс.
- Таблица не имеющая кластеризованного индекса называется кучей.
- Не кластеризованный - хранит только ключевые(указанные в индексе) в листьях индекса и указатели
на реальные данные в таблице, нужна дополнительная операция для обнаружения и получения требуемых данных.
- Составной - можно включить до 16 столбцов в индекс, но их общая длина ограничена 900 байтами.
Как кластеризованный, так и некластеризованный индексы могут быть составными.
- R-Tree
- B-Tree - на основе Бинарного дерева.
- HASH - создание HASH больших записей для ускорения нахождения.
- Пространственные индексы
- Spatial grid
- Quadtree
- Bitmap
- Reverse index
- Inverted index
Сравнение выборки с индексом и без
вариант с:
SELECT * FROM table WHERE ...
вариант без:
SELECT * FROM table WITH (INDEX(0)) WHERE …