| From: | Shridhar Daithankar <shridhar_daithankar(at)myrealbox(dot)com> | 
|---|---|
| To: | Laurent Martelli <laurent(at)aopsys(dot)com> | 
| Cc: | pgsql-performance(at)postgresql(dot)org | 
| Subject: | Re: Join on incompatible types | 
| Date: | 2003-11-19 06:54:04 | 
| Message-ID: | 3FBB138C.4090303@myrealbox.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-performance | 
Laurent Martelli wrote:
>>>>>>"Shridhar" == Shridhar Daithankar <shridhar_daithankar(at)myrealbox(dot)com> writes:
> 
> 
>   Shridhar> Laurent Martelli wrote:
> 
> [...]
> 
>   >> Should I understand that a join on incompatible types (such as
>   >> integer and varchar) may lead to bad performances ?
> 
>   Shridhar> Conversely, you should enforce strict type compatibility
>   Shridhar> in comparisons for getting any good plans..:-)
> 
> Ha ha, now I understand why a query of mine was so sluggish.
> 
> Is there a chance I could achieve the good perfs without having he
> same types ? I've tried a CAST in the query, but it's even a little
> worse than without it. However, using a view to cast integers into
> varchar gives acceptable results (see at the end).
> 
> I'm using Postgresql 7.3.4.
I am stripping the analyze outputs and directly jumping to the end.
Can you try following?
1. Make all fields integer in all the table.
2. Try following query
EXPLAIN ANALYZE SELECT * from lists join classes on classes.id=lists.value where 
lists.id='16'::integer;
How does it affect the runtime?
Shridhar
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ian Barwick | 2003-11-19 09:18:18 | TEXT column and indexing | 
| Previous Message | Shridhar Daithankar | 2003-11-19 06:34:12 | Re: High Processor consumption |