В EXPLAIN вы видите два последовательных шага: Seq Scan с cost=0.00..120000.00 и затем Aggregate с cost=120000.00..120500.00. С чего логичнее начать поиск узкого места?

AС шага с самой большой «стоимостью» и объёмом данных (здесь Seq Scan), потому что он кормит все остальные узлы.
BС верхней строки плана, потому что она выполняется первой.
CС любого шага, где встречается слово Aggregate, потому что агрегаты всегда самые дорогие.
DС названия индекса: если индекса нет в плане, значит всё безнадёжно.
Правильный ответ. Ищите тяжёлые узлы по cost/rows и помните, что «нижние» шаги кормят «верхние».

Разбор

Обычно имеет смысл смотреть на узлы, которые читают/генерируют много строк (часто сканы и сортировки). Если «внизу» много работы, то «наверху» это не исправить. cost — не время, но он помогает быстро понять, где планировщик ожидает основные затраты.

Проверь себя · 1/3разбор после ответа
В выводе EXPLAIN вы видите узел Seq Scan on orders. Что это обычно означает?
Тренировать SQL в Telegram

Ещё вопросы по теме «EXPLAIN и оптимизация»