Как ускорить время обработки запроса в postgres, использующего сканирование индекса?

У меня сейчас проблема с долгой обработкой sql в моем приложении для определенных запросов, которое использует Django и postgres. Используя встроенный django.db.connections.queries, я смог увидеть, какие запросы занимают больше всего времени. У меня есть один более сложный запрос, объединяющий 12 различных таблиц, на который тратится большая часть времени обработки

Используя pgAdmin, я смог воспользоваться инструментом 'Explain Analyze', чтобы увидеть, где находится узкое место. enter image description here

Большая часть времени тратится на сканирование индексов, соответствующих идентификаторам таблиц. Особенно много времени тратится в этом вложенном цикле inner join

enter image description here

Я хочу оптимизировать этот запрос, но поскольку он уже использует индексы, я не уверен, как это сделать.

Вернуться на верх