B-tree — сбалансированный упорядоченный индекс PostgreSQL для равенства, диапазонов и совместимой сортировки. Он поддерживает многоколоночные и уникальные индексы.
В чём особенности B-tree индекса в PostgreSQL?
B-tree — сбалансированный упорядоченный индекс PostgreSQL для равенства, диапазонов и совместимой сортировки. Он поддерживает многоколоночные и уникальные индексы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
B-tree — сбалансированный упорядоченный индекс PostgreSQL для равенства, диапазонов и совместимой сортировки. Он поддерживает многоколоночные и уникальные индексы.
Высота дерева позволяет быстро находить начальный ключ, а упорядоченные листья — читать диапазон. Состав и порядок колонок согласуют с фильтрами и сортировкой, учитывая operator class и collation.
Индекс не заменяет таблицу: видимость строк определяется MVCC, а index-only scan требует дополнительных условий. При записи индекс тоже обновляется, поэтому он расходует место и повышает стоимость изменений. Реализация использует разделение страниц и оптимизации вроде дедупликации подходящих повторяющихся ключей. Пользу проверяйте по планам и реальной нагрузке.
Источник: www.postgresql.org.