Задать вопрос
@happyjedi

Нужно ли делать индекс в БД по столбцу, по которому идет сортировка ORDER_BY?

Есть следующий регулярно выполняемый запрос:
SELECT "f_attributes".* FROM "f_attributes" WHERE "f_attributes"."type" IN ('FHeatType') AND (visible = 't')  ORDER BY "f_attributes"."title" ASC


Хочу добавить индексацию в БД. Думаю сделать составной индекс по столбцу type и visible(порядок столбцов тут вроде не важен). Но возник вопрос, разъяснений к которому сам не нашел, или не понял суть теории.
Нужно ли(полезно ли) добавлять индекс по столбцу title, по которому происходит сортировка ORDER BY ? И должен ли он быть отдельным индексом или входить в составной?
И вопрос к Rails разработчикам, нужно ли как то вручную обновлять индексы (БД PostgreSQL), или это происходит автоматически?
  • Вопрос задан
  • 374 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Hi-TECH Academy
    Администрирование PostgreSQL 16. Базовый курс
    3 дня
    Далее
  • OTUS
    PostgreSQL. Advanced
    4 месяца
    Далее
  • Учебный центр IBS
    QPT PostgreSQL 16. Оптимизация запросов
    1 неделя
    Далее
Решения вопроса 1
Finesse
@Finesse
Лучше сделать title отдельным индексом
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mastedm
@mastedm
У Postgres есть профилировщик запросов EXPLAIN (ANALYZE). Ему можно скормить запрос и посмотреть план выполнения запроса. По нему будет понятно, используются ли индексы. Бывают ситуации, когда Postgres не использует существующий индекс, либо из двух индексов использует только один.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы