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?