Re: - Slow Query
От | Rui Carvalho |
---|---|
Тема | Re: - Slow Query |
Дата | |
Msg-id | 4cb7e1b20907011037h2ff9c82ek9b19d3a34e53513b@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: - Slow Query (Mike Ivanov <mikei@activestate.com>) |
Ответы |
Re: - Slow Query
Re: - Slow Query |
Список | pgsql-performance |
hum thanks a lot for the quick answer,
if is not abuse of your patience
what is the best alternative to the LEFT OUTER JOINS?
RC
if is not abuse of your patience
what is the best alternative to the LEFT OUTER JOINS?
RC
On Wed, Jul 1, 2009 at 6:12 PM, Mike Ivanov <mikei@activestate.com> wrote:
> Merge Join (cost=111885.70..319492.88 rows=13016048 width=620)The outermost merge join has to go through 13 million rows. If you remove "distinct on (bien.uid)", you'll see that.> LEFT outer JOIN freguesia_ville ON freguesia_ville.ref_ville =ville.uid
> LEFT outer JOIN ville ON ville.uid = bien.ref_ville
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.
Although I don't quite understand the purpose of the query, I don't think you need all those OUTER joins.
Regards,
Mike
В списке pgsql-performance по дате отправления: