Re: Query optimization path
От | Bruno Wolff III |
---|---|
Тема | Re: Query optimization path |
Дата | |
Msg-id | 20030112170108.GB31080@wolff.to обсуждение исходный текст |
Ответ на | Query optimization path ("Gaetano Mendola" <mendola@bigfoot.com>) |
Список | 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 по дате отправления: