Re: query plan and parenthesis
От | Tom Lane |
---|---|
Тема | Re: query plan and parenthesis |
Дата | |
Msg-id | 181.1055511206@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | query plan and parenthesis (Jan Poslusny <pajout@gingerall.cz>) |
Список | pgsql-general |
Jan Poslusny <pajout@gingerall.cz> writes: > I have following view definition given by '\d' command: SELECT t1.col1 > FROM ((table1 t1 JOIN table2 t2 ON ((t1.id = t2.id))) JOIN table3 t3 ON > ((t2.some = t3.some))); > Is query planner able to optimize order of joining (t1, t2), t3 or must > join with order described by parenthesis ? This is very important for > joining small (50 rows) and huge (5M rows) tables. See http://www.postgresql.org/docs/view.php?version=7.3&idoc=0&file=explicit-joins.html and the same page updated for 7.4: http://developer.postgresql.org/docs/postgres/explicit-joins.html The discussion here seems to have gone off on a tangent: adding or leaving out explicit parentheses *does not* affect what the planner will do with a JOIN construct, it only makes it perfectly clear to both you and the machine what the nesting order is. If you leave out parentheses then the joins nest left-to-right, but this is not semantically different from having written the same thing with parentheses, eg, (A JOIN B ...) JOIN C ... regards, tom lane
В списке pgsql-general по дате отправления: