cityvox_prod=# EXPLAIN ANALYZE SELECT a.numasso, a.nomasso, a.nomassoofficiel, el.numeve, el.numlieu, vq.codequar, toTimestamp(ddebevelieu) as debutevelieu, toTimestamp(dfinevelieu) as finevelieu FROM association a, evelieu el, assovil av, lieu l, vilquartier vq WHERE 1=1 AND l.codequar = vq.codequar AND l.numlieu = el.numlieu AND vq.codevil = av.codevil AND a.numasso = el.numasso AND a.numasso = av.numasso AND a.codeact = 'V' AND av.codevil = 'LYO' AND date_trunc('day', el.dfinevelieu) >= date_trunc('day', now()) ORDER BY el.numeve ASC LIMIT 5; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Limit (cost=3169.91..3169.91 rows=1 width=68) (actual time=8106.727..8106.730 rows=1 loops=1) -> Sort (cost=3169.91..3169.91 rows=1 width=68) (actual time=8106.725..8106.726 rows=1 loops=1) Sort Key: el.numeve Sort Method: quicksort Memory: 25kB -> Nested Loop (cost=7.55..3169.90 rows=1 width=68) (actual time=5138.594..8106.706 rows=1 loops=1) Join Filter: ((vq.codequar)::text = (l.codequar)::text) -> Merge Join (cost=7.55..2905.50 rows=65 width=68) (actual time=5138.556..8106.465 rows=36 loops=1) Merge Cond: (el.numasso = a.numasso) -> Nested Loop (cost=0.00..254537.64 rows=90 width=37) (actual time=5137.405..8104.863 rows=36 loops=1) -> Nested Loop (cost=0.00..254387.29 rows=5 width=36) (actual time=5137.375..8104.719 rows=2 loops=1) Join Filter: (el.numasso = av.numasso) -> Index Scan using pk_assovil on assovil av (cost=0.00..32.01 rows=38 width=8) (actual time=0.028..0.238 rows=38 loops=1) Index Cond: ((codevil)::text = 'LYO'::text) -> Seq Scan on evelieu el (cost=0.00..5978.46 rows=57208 width=28) (actual time=0.010..197.039 rows=28019 loops=38) Filter: (date_trunc('day'::text, el.dfinevelieu) >= date_trunc('day'::text, now())) -> Index Scan using idx_vilquartier_codevil on vilquartier vq (cost=0.00..29.89 rows=18 width=9) (actual time=0.025..0.045 rows=18 loops=2) Index Cond: ((vq.codevil)::text = 'LYO'::text) -> Index Scan using pk_association on association a (cost=0.00..75.50 rows=717 width=39) (actual time=0.017..1.115 rows=727 loops=1) Filter: ((a.codeact)::text = 'V'::text) -> Index Scan using pk_lieu on lieu l (cost=0.00..4.05 rows=1 width=9) (actual time=0.003..0.004 rows=1 loops=36) Index Cond: (l.numlieu = el.numlieu) Total runtime: 8106.852 ms