Hi all, I have 2 tables:
table1 (field1,field2,.....) table2 (field1,field2,field3,.....) field1 is an uuid type field2 is a timestamp with time zone type. If I execute: explain (analyze on, timing off) select B.field3,A.field1,A.field2 FROM table1 A INNER JOIN table2 B using (field1,field2) the query plan is QUERY PLAN ---------------------------------------------------------------------------------------------------------------- Hash Join (cost=137324.20..247200.77 rows=1 width=31) (actual rows=1136175 loops=1) Hash Cond: ((b.field1 = a.field1) AND (b.field2 = a.field2)) -> Seq Scan on table2 b (cost=0.00..49694.75 rows=1136175 width=31) (actual rows=1136175 loops =1) -> Hash (cost=89610.68..89610.68 rows=2287368 width=24) (actual rows=1143684 loops=1) Buckets: 65536 Batches: 4 Memory Usage: 15699kB -> Seq Scan on table1 a (cost=0.00..89610.68 rows=2287368 width=24) (actual rows=1143684 loops=1 ) Total runtime: 5055.118 ms (7 rows) My question is Why Have I a rows=1 in the explain and rows=1136175 in the explain analyze? I tried to tune Planner Cost Constants as default_statistics_target (integer) and / or from_collapse_limit (integer) join_collapse_limit (integer) but the query plan has been the same. Can anyone help me ? Thanks, Enrico -- That's one small step for man; one giant leap for mankind Enrico Pirozzi Tel. +39 0861 1855771 - Mob.+39 328 4164437 - Fax +39 0861 1850310 http://www.pgtraining.com <http://www.pgtraining.com-> - i...@pgtraining.com www.enricopirozzi.info - i...@enricopirozzi.info Skype sscotty71 - Gtalk sscott...@gmail.com