Ответ
Хэш-индекс в PostgreSQL используется для быстрого поиска по точному совпадению (оператор =). Он эффективен, когда нужно часто искать по уникальным значениям, так как работает за O(1) в среднем случае. Однако у него есть ограничения:
- Не поддерживает операции диапазона (
>,<,BETWEEN) - Не участвует в репликации (не WAL-логируется до PG 10)
- Может быть медленнее B-дерева при частых обновлениях
Пример создания:
CREATE INDEX idx_name ON table_name USING HASH (column_name);
Используйте хэш-индекс, когда нужны только точные поиски и важна скорость, а не полнота функционала B-дерева.