From: | Віталій Тимчишин <tivv00(at)gmail(dot)com> |
---|---|
To: | Mike Ivanov <mikei(at)activestate(dot)com> |
Cc: | Rui Carvalho <rui(dot)hmcarvalho(at)gmail(dot)com>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: - Slow Query |
Date: | 2009-07-03 11:22:35 |
Message-ID: | 331e40660907030422p2375a09co827457c2dc7aff4c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
2009/7/1 Mike Ivanov <mikei(at)activestate(dot)com>
>
>
> > LEFT outer JOIN ville ON ville.uid = bien.ref_ville
> > LEFT outer JOIN freguesia_ville ON freguesia_ville.ref_ville =ville.uid
>
> This is not enough. You have to add this condition as well:
>
> AND bien.ref_ville = freguesia_ville.ref_ville
>
> In other words, when you link three tables by a common field, all three
> relationships should be explicitly expressed, otherwise you'll have this
> type of explosive row multiplication.
>
Why so? Is not changing "freguesia_ville.ref_ville =ville.uid" to
"freguesia_ville.ref_ville =bien.uid" enough (to prevent cases when
ville.uid is null as result of join)?
From | Date | Subject | |
---|---|---|---|
Next Message | Віталій Тимчишин | 2009-07-03 11:29:28 | Re: - Slow Query |
Previous Message | Matthew Wakeling | 2009-07-03 11:20:50 | Re: Most effective insert or replace |