| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Bruno Wolff III <bruno(at)wolff(dot)to> |
| Cc: | Danilo Mota <dmota(at)nexen(dot)com(dot)br>, pgsql-performance(at)postgresql(dot)org |
| Subject: | Re: Query performance problem |
| Date: | 2004-08-20 16:50:01 |
| Message-ID: | 27336.1093020601@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
Bruno Wolff III <bruno(at)wolff(dot)to> writes:
> I am going to assume that one of the sc.cpfcnpj's above is really rc.cpfcnpj
> since that corresponds to the explain below.
No, actually the explain plan corresponds to the sc.cpfcnpj = sc.cpfcnpj
condition. I didn't twig to the typo until I started to wonder why the
plan had the condition in the wrong place (attached to the seqscan and
not the join step).
> sc.cpfcnpj and rc.cpfcnpj are different length varchars. You made need
> an explicit cast to allow the use of indexes.
AFAIK the cross-type issues only apply to crossing actual types, not
lengths. That does look like an error in the database schema, though.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Gaetano Mendola | 2004-08-20 19:43:24 | Re: using an index worst performances |
| Previous Message | Bruno Wolff III | 2004-08-20 16:48:21 | Re: Query performance problem |