From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Jie Li <jay23jack(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: small table left outer join big table |
Date: | 2010-12-29 12:17:17 |
Message-ID: | AANLkTi=7=BP6fsHSO31C9x_RAFgSttXxac1vreYWdL6M@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Dec 28, 2010 at 5:13 AM, Jie Li <jay23jack(at)gmail(dot)com> wrote:
> Hi,
>
> Please see the following plan:
>
> postgres=# explain select * from small_table left outer join big_table using
> (id);
> QUERY PLAN
> ----------------------------------------------------------------------------
> Hash Left Join (cost=126408.00..142436.98 rows=371 width=12)
> Hash Cond: (small_table.id = big_table.id)
> -> Seq Scan on small_table (cost=0.00..1.09 rows=9 width=8)
> -> Hash (cost=59142.00..59142.00 rows=4100000 width=8)
> -> Seq Scan on big_table (cost=0.00..59142.00 rows=4100000
> width=8)
> (5 rows)
>
> Here I have a puzzle, why not choose the small table to build hash table? It
> can avoid multiple batches thus save significant I/O cost, isn't it?
Yeah, you'd think. Can you post a full reproducible test case?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2010-12-29 12:34:05 | Re: small table left outer join big table |
Previous Message | Robert Haas | 2010-12-29 12:15:52 | Re: Why is sorting on two columns so slower thansortingon one column? |