он используется
                  
                  
                  2) в таблице в 1.3 млн записей, вакуум сделан
                  
                  
                  3) такой запрос идет 4 секунды
                  
                  
                  select curDate::date, sum(sc.amount) from contracts_cpv sc, generate_series(fromDate,toDate,'1 day'::interval) curDate where "cpvCode"='30190000-7' group by curDate;
                  
                  
                  вот его план:
                  
                  
                   Finalize GroupAggregate  (cost=490706.06..490758.73 rows=200 width=44)
                  
                  
                     Group Key: curdate.curdate
                  
                  
                     ->  Gather Merge  (cost=490706.06..490752.73 rows=400 width=40)
                  
                  
                           Workers Planned: 2
                  
                  
                           ->  Sort  (cost=489706.03..489706.53 rows=200 width=40)
                  
                  
                                 Sort Key: curdate.curdate
                  
                  
                                 ->  Partial HashAggregate  (cost=489695.89..489698.39 rows=200 width=40)
                  
                  
                                       Group Key: curdate.curdate
                  
                  
                                       ->  Nested Loop  (cost=0.43..391927.14 rows=19553750 width=14)
                  
                  
                                             ->  Parallel Index Only Scan using "contracts_cpv_cpvCode_fromdate_todate_amount_idx" on contracts_cpv sc  (cost=0.43..847.13 rows=19554 width=14)
                  
                  
                                                   Index Cond: ("cpvCode" = '30190000-7'::text)
                  
                  
                                             ->  Function Scan on generate_series curdate  (cost=0.01..10.01 rows=1000 width=8)
                  
                  
                  
                  
                  
                  можно его как-то улучшить? подозреваю, что Nested Loop это не оч хорошо тут
                  
                  
                
А план с реальностью по количеству строк совпадает?
Обсуждают сегодня