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

сслыка на базу данных
ER Model

popular movies year by year

EXPLAIN ANALYZE
SELECT title, release_year
FROM film f1
WHERE f1.rental_rate > (SELECT AVG(f2.rental_rate) FROM film f2 WHERE
f1.release_year = f2.release_year);

Попробовал кучу индексов, никак не получается оптимизировать агрегатную функцию. (Менять сам запрос нельзя)

"Seq Scan on film f1 (cost=0.00..69079.00 rows=333 width=19) (actual time=1.349..282.051 rows=659 loops=1)" " Filter: (rental_rate > (SubPlan 1))" " Rows Removed by Filter: 341" " SubPlan 1" " -> Aggregate (cost=69.00..69.01 rows=1 width=32) (actual time=0.281..0.281 rows=1 loops=1000)" " -> Seq Scan on film f2 (cost=0.00..66.50 rows=1000 width=6) (actual time=0.001..0.149 rows=1000 loops=1000)" " Filter: ((f1.release_year)::integer = (release_year)::integer)" "Planning Time: 0.982 ms" "Execution Time: 282.187 ms"


Ответы (0 шт):