К списку
SQL и базы данныхSeniorТехническое

Основные типы индексов в реляционных базах данных

Краткий ответ

В базах данных применяются индексы первичного ключа (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