Назад к вопросам
Junior
71
questionbank

Что такое индекс в реляционной базе данных?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Индекс в реляционной базе данных — это структура данных, улучшающая скорость операций извлечения данных (SELECT), но замедляющая операции изменения данных (INSERT, UPDATE, DELETE).

По принципу работы схож с предметным указателем в книге: он позволяет СУБД быстро находить нужные строки, не перебирая всю таблицу.

Основные типы индексов:

  • Первичный (Primary Key): Уникальный индекс, автоматически создаваемый для столбцов, обозначенных как первичный ключ.
  • Уникальный (Unique): Гарантирует уникальность значений в индексированных столбцах.
  • Обычный (Non-unique): Не гарантирует уникальность значений. Используется для повышения производительности поиска.
  • Полнотекстовый (Full-text): Используется для поиска по текстовым данным.

Пример создания индекса в SQL:

CREATE INDEX idx_lastname ON Employees (LastName);

При создании индекса следует учитывать:

  • Наличие индекса замедляет операции записи и изменения данных. Каждый раз при изменении данных в индексированном столбце требуется обновить и индекс.
  • Индекс потребляет дисковое пространство.
  • Не все столбцы выгодно индексировать. Индексы эффективны для столбцов, часто используемых в условиях WHERE, JOIN и ORDER BY.

Выбор столбцов для индексирования зависит от специфики запросов и структуры данных.