Назад к вопросам
Middle+
7
Что такое индексы в БД? Типы индексов (B-tree, Hash, Full-text). Кластерный vs некластерный индекс. Покрывающие индексы.
Компании, где спрашивали
Core outstaff
Ответ от нейросети
sobes.tech AI
Индексы в базе данных — это специальные структуры данных, которые ускоряют поиск и сортировку записей в таблицах, уменьшая количество операций чтения.
Типы индексов:
- B-tree (сбалансированное дерево): самый распространённый тип. Подходит для поиска по диапазону, сортировки, равенства. Эффективен для большинства операций.
- Hash-индексы: используют хеш-функции для быстрого поиска по точному совпадению ключа. Не поддерживают поиск по диапазону.
- Full-text индексы: предназначены для полнотекстового поиска по текстовым полям, позволяют искать слова и фразы внутри больших текстов.
Кластерный vs некластерный индекс:
- Кластерный индекс определяет физический порядок хранения данных в таблице. Обычно таблица может иметь только один кластерный индекс.
- Некластерный индекс — отдельная структура, которая содержит ключи и указатели на данные, не меняет физический порядок строк.
Покрывающие индексы:
Индекс, который содержит все поля, необходимые для выполнения запроса, без обращения к основной таблице. Это значительно ускоряет выполнение, так как данные берутся только из индекса.
Пример создания покрывающего индекса в SQL:
CREATE INDEX idx_covering ON orders (customer_id, order_date) INCLUDE (total_amount);
Здесь индекс покрывает запросы, которые используют customer_id, order_date и total_amount.