Какие существуют типы индексов в базах данных?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
-
Уникальный индекс (Unique Index) Гарантирует уникальность значений в индексируемом столбце (или наборе столбцов).
-
Первичный ключ (Primary Key) Специальный уникальный индекс, используемый для идентификации каждой строки в таблице. Таблица может иметь только один первичный ключ.
-
Кластерный индекс (Clustered Index) Определяет физический порядок хранения строк данных в таблице. Таблица может иметь только один кластерный индекс. Данные хранятся в порядке, соответствующем структуре индекса.
-
Некластерный индекс (Non-Clustered Index) Хранит данные отдельно от строк таблицы. Содержит указатели на фактические строки данных. Таблица может иметь несколько некластерных индексов.
-
Покрывающий индекс (Covering Index) Некластерный индекс, который содержит все столбцы, необходимые для выполнения запроса, устраняя необходимость доступа к таблице за дополнительными данными.
-
Составной индекс (Composite/Compound Index) Индекс, построенный на нескольких столбцах таблицы. Порядок столбцов важен для эффективности запросов.
-
Полнотекстовый индекс (Full-Text Index) Используется для выполнения полнотекстового поиска по символьным данным.
-
Пространственный индекс (Spatial Index) Используется для индексации пространственных данных (географических координат, геометрических объектов).
-
Битмаповый индекс (Bitmap Index) Используется для индексации столбцов с небольшим количеством дискретных значений. Эффективен для OLAP-систем.
-
Функциональный/функционально-основанный индекс (Function-Based Index) Индекс, построенный на результате функции или выражения, применяемого к одному или нескольким столбцам.
-
Хэш-индекс (Hash Index) Использует хэш-значения для快速查找 данных. Эффективен для проверки равенства (=).
-- Пример создания уникального индекса
CREATE UNIQUE INDEX idx_email
ON users (email);
-- Пример создания составного индекса
CREATE INDEX idx_lastname_firstname
ON employees (last_name, first_name);