From: Scott Marlowe <smarlowe@g2switchworks.com>
To: Tim Jones <TJones@optio.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: joining two tables slow due to sequential scan
Date: Fri, 10 Feb 2006 16:22:05 -0600
Message-ID: <1139610125.22740.145.camel@state.g2switchworks.com> (raw)
In-Reply-To: <47668A1334CDBF46927C1A0DFEB223D3131302@mail.optiosoftware.com>
References: <47668A1334CDBF46927C1A0DFEB223D3131302@mail.optiosoftware.com>
On Fri, 2006-02-10 at 16:06, Tim Jones wrote:
>
> I am trying to join two tables and keep getting a sequential scan in
> the plan even though there is an index on the columns I am joining
> on. Basically this the deal ... I have two tables with docid in them
> which is what I am using for the join.
>
SNIP
> select * from documentversions join clinicaldocuments on
> documentversions.documentidentifier
> = clinicaldocuments.dssdocumentidentifier where
> documentversions.documentstatus = 'AC';
>
> does index scan
> but if I change the order e.g
>
> select * from clinicaldocuments join documentversions on
> clinicaldocuments.dssdocumentidentifier
> = documentversions .documentidentifier where
> clinicaldocuments.patientidentifier= 123;
OK. I'm gonna make a couple of guesses here:
1: clinicaldocuments.patientidentifier is an int8 and you're running
7.4 or before.
2: There are more rows with clinicaldocuments.patientidentifier= 123
than with documentversions.documentstatus = 'AC'.
3: documentversions.documentidentifier and
clinicaldocuments.dssdocumentidentifier are not the same type.
Any of those things true?
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: smarlowe@g2switchworks.com, TJones@optio.com
Subject: Re: joining two tables slow due to sequential scan
In-Reply-To: <1139610125.22740.145.camel@state.g2switchworks.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox