, но при заказе по запросу для получения тех же результатов потребовалось более 4 минут.
udo
уже объяснили, как индексы можно использовать для ускорения сортировки, это, вероятно,путь, которым вы хотите идти.
Но другое решение (вероятно) - это увеличение переменной work_mem
.Это почти всегда полезно, если только у вас не запущено много запросов одновременно.
При сортировке больших наборов результатов, которые не вписываются в ваш параметр work_mem, PostgreSQL прибегает к медленной сортировке на диске.Если вы позволите ему использовать больше памяти, он будет выполнять быстрые сортировки в памяти.
NB!Всякий раз, когда вы задаете вопросы о производительности PostgreSQL, вы должны опубликовать вывод EXPLAIN ANALYZE
для вашего запроса, а также версию Postgres.