Да, порядок колонок составного B-tree-индекса влияет на применимость к фильтрам и сортировке. Обычно ограничения на ведущие колонки делают поиск эффективнее.
Влиял ли порядок колонок в составном индексе на итоговую производительность запроса?
Да, порядок колонок составного B-tree-индекса влияет на применимость к фильтрам и сортировке. Обычно ограничения на ведущие колонки делают поиск эффективнее.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Да, порядок колонок составного B-tree-индекса влияет на применимость к фильтрам и сортировке. Обычно ограничения на ведущие колонки делают поиск эффективнее.
Например, индекс (tenant_id, created_at) хорошо соответствует выборке по tenant с диапазоном даты. Но правило «первая колонка всегда самая селективная» слишком грубо: важны конкретные predicates, ORDER BY и возможности СУБД. Проверяйте EXPLAIN и фактические измерения; индекс не обязан ускорять любой запрос к его полям.
Источник: www.postgresql.org.