Re: Query optimization path - Mailing list pgsql-admin

From Bruno Wolff III
Subject Re: Query optimization path
Date
Msg-id 20030112170108.GB31080@wolff.to
Whole thread Raw
In response to Query optimization path  ("Gaetano Mendola" <mendola@bigfoot.com>)
List pgsql-admin
On Sun, Jan 12, 2003 at 17:31:34 +0100,
  Gaetano Mendola <mendola@bigfoot.com> wrote:
> Hi all,
>
> I have the following query:
>
> SELECT count(1)
> FROM providers p JOIN class_default cd    USING (id_provider)
>                  JOIN user_data     ud    USING (id_class)
>                  JOIN v_user_traffic ut   USING (id_user)
> WHERE id_user_status in (4,5) AND
>       p.company = 'XXXXX';
>
> is not slow but I notice that if I do explain analyze with the table
> reordered
> inside the select in another way the cost change.

Using "JOIN" fixes the order that tables are joined in. If you are
just doing inner joins, then you probably don't want to use the "JOIN"
keyword. The exception being when there are so many tables being joined
that you want to manually specify at least some of the join ordering in
order to help out the planner.

Outer (and left and right) joins are generally not associative, so the
"JOIN" keyword being required for those cases isn't generally going to
be a problem.

pgsql-admin by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: crypto?
Next
From: "Gaetano Mendola"
Date:
Subject: Re: Query optimization path