Встречается на собеседованиях • сегодня
В чем разница между хеш-индексом и индексом B-Tree в PostgreSQL
Основное отличие в структуре и применении:
- B-Tree - сбалансированное дерево, оптимально для диапазонных запросов (
BETWEEN,>,<,LIKE 'prefix%'). Поддерживает сортировку и работает с любыми типами данных.
- Hash - хранит хеш-значения ключей, быстрее для точных совпадений (
=), но не поддерживает диапазонные запросы. Требует перестройки при изменении размера таблицы.
Пример создания:
sql
-- B-Tree (по умолчанию)
CREATE INDEX idx_btree ON users (email);
-- Hash индекс
CREATE INDEX idx_hash ON users USING HASH (email);Нюансы:
- Hash занимает меньше памяти, но только для
=операций - B-Tree надежнее, поддерживает уникальность, NULL-значения
- В современных версиях PostgreSQL (10+) разница в производительности для
=минимальна

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы