Основные типы индексов в реляционных базах данных
Краткий ответ
В базах данных применяются индексы первичного ключа (PRIMARY), уникальные (UNIQUE), полнотекстовые (FULLTEXT), пространственные (SPATIAL) и обычные (INDEX). Каждый тип индексирования оптимизирует поиск и выборку в зависимости от структуры данных и особенностей запросов.
Развёрнуто
Краткий ответ
В большинстве СУБД используются следующие типы индексов: PRIMARY для первичных ключей, UNIQUE для уникальных значений, FULLTEXT для полнотекстового поиска, SPATIAL для работы с геоданными и обычные INDEX для ускорения общих запросов.
Как это работает
Индексы — структуры данных, которые ускоряют поиск и сортировку записей в таблицах. Разные типы индексов подходят для различных сценариев:
PRIMARYиндекс гарантирует уникальность и служит основным способом идентификации строк.UNIQUEиндекс предотвращает дублирование значений в столбцах.FULLTEXTиндекс используется для быстрого поиска по текстовым данным, поддерживает сложные текстовые запросы.SPATIALиндекс оптимизирован для работы с геометрическими и географическими данными (например, координатами).- Обычный
INDEXускоряет выполнение запросов, фильтрующих или сортирующих по индексированным колонкам.
| Тип индекса | Назначение | Особенности |
|---|---|---|
| PRIMARY | Уникальная идентификация | Обязателен в таблице, уникальный |
| UNIQUE | Уникальность значений | Позволяет проверять уникальность |
| FULLTEXT | Поиск по тексту | Поддерживает полнотекстовые запросы |
| SPATIAL | Географические данные | Оптимизирован для пространственных запросов |
| INDEX | Общие ускорения запросов | Не гарантирует уникальность |
Пример
CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255) UNIQUE,
bio TEXT,
location POINT,
FULLTEXT (bio),
SPATIAL INDEX(location)
);
В этом примере id — первичный индекс, email — уникальный, для bio создан полнотекстовый индекс, а для location — пространственный.
Что важно знать на собеседовании
- Индексы повышают скорость выборки, но замедляют операции вставки и обновления.
PRIMARYиндекс всегда уникален и является основным ключом таблицы.- Полнотекстовые индексы поддерживают сложные поисковые запросы по тексту.
- Пространственные индексы применяются в системах с геоданными и GIS.
- Правильный выбор типа индекса влияет на производительность и масштабируемость базы данных.
Тема: SQL и базы данных | Уровень: senior