Re: Four table join with million records - performance improvement? - Mailing list pgsql-performance

From Tom Lane
Subject Re: Four table join with million records - performance improvement?
Date
Msg-id 2395.1095137871@sss.pgh.pa.us
Whole thread Raw
In response to Four table join with million records - performance improvement?  (Vijay Moses <vijay.moses@gmail.com>)
List pgsql-performance
Vijay Moses <vijay.moses@gmail.com> writes:
> Hi i have four sample tables ename, esal, edoj and esum
> All of them have 1000000 records. Im running the following
> query : select ename.eid, name, sal, doj, summary from
> ename,esal,edoj,esum where ename.eid=esal.eid and ename.eid=edoj.eid
> and ename.eid=esum.eid. Its a join of all four tables which returns
> all 1 million records. The eid field in ename is a Primary Key and the
> eid in all other tables are Foreign Keys. I have created an index for
> all Foreign Keys. This query takes around 16 MINUTES to complete. Can
> this time be reduced?

The indexes will be completely useless for that sort of query; the
reasonable choices are sort/merge or hashjoin.  For either one, your
best way to speed it up is to increase sort_mem.

            regards, tom lane

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: tblspaces integrated in new postgresql (version 8.0)
Next
From: Stephen Crowley
Date:
Subject: Re: Large # of rows in query extremely slow, not using index