Sobes.tech
Middle
21

Расскажите про индексы в БД: какие бывают, за счёт чего ускоряют, когда не нужны?

Companies where asked
Небольшая компания

Answer from AI

sobes.tech AI

Индексы в базе данных — это специальные структуры данных, которые ускоряют поиск и выборку данных.

Виды индексов:

  • B-Tree индекс: самый распространённый, подходит для равенств и диапазонных запросов.
  • Hash индекс: быстрый для точных совпадений, но не поддерживает диапазоны.
  • Bitmap индекс: эффективен для столбцов с небольшим числом уникальных значений.
  • Полнотекстовый индекс: для поиска по тексту.

За счёт чего ускоряют: Индексы позволяют не сканировать всю таблицу, а быстро находить нужные записи по ключу, используя сбалансированные деревья или хеш-таблицы.

Когда не нужны:

  • Если таблица очень маленькая — полное сканирование может быть быстрее.
  • Для столбцов с высокой кардинальностью и редкими запросами по ним.
  • Если индекс замедляет операции вставки/обновления, и это критично.

Пример: если часто ищут пользователей по email, стоит создать индекс по этому полю, чтобы ускорить запросы.