From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | LDC - Carmen Brando <carmen(at)ldc(dot)usb(dot)ve> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Estructura JoinType |
Date: | 2007-01-08 01:38:18 |
Message-ID: | 20070108013818.GA7810@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola! Estoy de vuelta de una ausencia extendida.
LDC - Carmen Brando escribió:
> A nivel de implementacion veo que se utiliza la estructura
> JoinType definida en nodes.h para distinguir el tipo de
> join cuando se indica explicitamente en la clausula FROM:
> OUTER, INNER y NATURAL. En caso de un join indicado en la
> clausula WHERE (t1.a=t2.b AND t2.b=t3.c ...) no aplica alguno de
> sus valores? JOIN_INNER, JOIN_LEFT, JOIN_FULL, JOIN_RIGHT. En
> el manueal dicen "The join condition of an inner join can be
> written either in the WHERE clause or in the JOIN clause", pero a nivel
> de implementacion un join expresado en la clausua WHERE toma
> el mismo curso que un INNER JOIN indicado en la clausua FROM?
Observa que cuando pones "FROM foo, bar" lo que se hace es poner ambas
tablas en la lista de RangeTables. En cambio cuando haces "FROM foo
JOIN bar ON ( ... )", lo que se hace es poner un solo RangeTable el cual
es un nodo de tipo Join.
Por otro lado, el optimizador puede cambiar las dos RangeTables en un
nodo Join (dependiendo de from_collapse_limit), pero no tengo idea si
esto queda realmente expresado en el arbol de la consulta. (Sugerencia:
activa debug_print_parse, debug_print_rewritten, debug_print_plan y
examina los planes a ver si encuentras diferencias entre los planes
cuando cambias los valores de from_collapse_limit).
Ojo que puede haber un error en cualquier cosa de lo que dije arriba asi
que verificalo con cuidado :-)
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-01-08 01:41:06 | Re: Existencia de columna en tabla |
Previous Message | Guido Barosio | 2007-01-08 01:10:11 | Re: Existencia de columna en tabla |