Что такое индексы в БД: B-Tree и Hash, и как они ускоряют поиск?

B-Tree хранит упорядоченные ключи и подходит для равенства, диапазонов и сортировки; Hash организует поиск по хешу и обычно применяется к проверкам равенства.

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

Что ответить на собеседовании

B-Tree хранит упорядоченные ключи и подходит для равенства, диапазонов и сортировки; Hash организует поиск по хешу и обычно применяется к проверкам равенства.

Подробный разбор

Ответ с пояснениями

B-Tree хранит упорядоченные ключи и подходит для равенства, диапазонов и сортировки; Hash организует поиск по хешу и обычно применяется к проверкам равенства.

Индекс позволяет найти подходящие записи без просмотра всей таблицы. У сбалансированного дерева поиск требует логарифмического числа шагов по структуре, а соседние ключи удобны для диапазонов. Хеш-индекс использует бакеты, но коллизии и особенности реализации не позволяют обещать неизменно O(1). Индексы занимают место и замедляют запись, поэтому их выбирают по реальным запросам и планам выполнения. Оптимизатор может предпочесть последовательное чтение, если запрос возвращает большую часть таблицы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее