Встречается на собеседованиях • сегодня

Какие запросы работают быстрее с индексом по двум полям в PostgreSQL

Составные индексы (по нескольким полям) в PostgreSQL работают быстрее всего в следующих случаях:

  1. Запросы с условиями по всем полям индекса (слева направо):
sql
-- Индекс: CREATE INDEX idx_name ON table(col1, col2)
-- Быстро:
SELECT * FROM table WHERE col1 = 'val' AND col2 = 'val';
  1. Запросы с условием только по первому полю индекса:
sql
-- Все еще использует индекс:
SELECT * FROM table WHERE col1 = 'val';
  1. Запросы с сортировкой по индексированным полям:
sql
-- Использует индекс для сортировки:
SELECT * FROM table ORDER BY col1, col2;

Неэффективные случаи:

  • Условия только по второму полю (WHERE col2 = 'val') - индекс не используется
  • Несовпадение порядка полей в запросе и индексе

Оптимальный порядок полей в индексе: от наиболее селективных к наименее селективным.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы