| 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: | Whole Thread | Raw Message | 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 |