Middle
21
Расскажите про индексы в БД: какие бывают, за счёт чего ускоряют, когда не нужны?
Companies where asked
Небольшая компания
Answer from AI
sobes.tech AI
Индексы в базе данных — это специальные структуры данных, которые ускоряют поиск и выборку данных.
Виды индексов:
- B-Tree индекс: самый распространённый, подходит для равенств и диапазонных запросов.
- Hash индекс: быстрый для точных совпадений, но не поддерживает диапазоны.
- Bitmap индекс: эффективен для столбцов с небольшим числом уникальных значений.
- Полнотекстовый индекс: для поиска по тексту.
За счёт чего ускоряют: Индексы позволяют не сканировать всю таблицу, а быстро находить нужные записи по ключу, используя сбалансированные деревья или хеш-таблицы.
Когда не нужны:
- Если таблица очень маленькая — полное сканирование может быть быстрее.
- Для столбцов с высокой кардинальностью и редкими запросами по ним.
- Если индекс замедляет операции вставки/обновления, и это критично.
Пример: если часто ищут пользователей по email, стоит создать индекс по этому полю, чтобы ускорить запросы.