Hi, I had errors in my last emails. sorry
I want to optimize my query sql (execution time : 2665 ms) : SELECT b.idxreseller, sum(a.nbrq), b.namereseller from stat a ,reseller b where b.asp=6 and a.idxreseller=b.reseller and a.month=date_part('month',now() - interval '1 month') and a.year=date_part('year',now() - interval '1 month') GROUP BY b.idxreseller,b.namereseller limit 15; Explain analyse : Limit (cost=1057.15..1057.16 rows=1 width=27) (actual time=2655.083..2655.176 rows=15 loops=1) -> HashAggregate (cost=1057.15..1057.16 rows=1 width=27) (actual time=2655.074..2655.132 rows=15 loops=1) -> Nested Loop (cost=0.00..1057.14 rows=1 width=27) (actual time=0.646..2464.563 rows=18543 loops=1) -> Seq Scan on stat a (cost=0.00..1042.98 rows=1 width=8) (actual time=0.273..1239.510 rows=24881 loops=1) Filter: (((month)::double precision = date_part('month'::text, (now() - '1 mon'::interval))) AND ((year)::double precision = date_part('year'::text, (now() - '1 mon'::interval)))) -> Index Scan using reseller_pkey on reseller b (cost=0.00..14.15 rows=1 width=23) (actual time=0.034..0.038 rows=1 loops=24881) Index Cond: ("outer".idxrreseller = b.idxreseller) Filter: (asp = 6) Total runtime: 2655.713 ms dns=> \d stat; Table «public.stat» idxreseller | integer | not null idxdo | integer | not null idxd | integer | not null nbrq | integer | default 0 month | integer | default date_part('month'::text, (now() - '1 mon'::interval)) year | integer | default date_part('year'::text, (now() - '1 mon'::interval)) Index : «stat_dns_domaine_idx_idxr_idxreseller» btree (dxreseller) «stat_dns_domaine_idx_month_year_idxres» btree (month, year, idxreseller) \d reseller; Table «public.reseller» idxreseller | integer | not null default nextval(('idxrevendeur_seq'::text)::regclass) namereseller | text | asp | integer | Index : «reseller_pkey» PRIMARY KEY, btree (idxreseller) Have you advices ? Thank you Stan ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster