From: | "Multicast" <jalcantara(at)olva(dot)com(dot)pe> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Fw: Uso de left join |
Date: | 2005-07-01 17:00:52 |
Message-ID: | 00b201c57e5e$70f22470$6d64a8c0@Sistemas01 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Bueno tambien es una gran ventaja para optimizar un query cuando el join es
en el where, imaginase que tienes tablas grandes, de la manera que hace el
join en FROM, hace el join primero de toda las 2 tablas completas para luego
sobre ello aplicar el filtro, osea que primero se come toda la chamba de
join de las tablas a unir para luego aplicar el filtro, lo q hace q la
consulta sea mas lenta, ejemplo:
select a.campo1,b.campo1 from tabla1 a, tabla2 b where a.campo2='XXX' and
b.campo3(+)=a.campo3;
De esta forma, primero se aplica el filtro, filtrando solanmente la data que
cumple la condicion (a.campo2='XXX'), y sobre ese filtro proyectado recien
se le aplica el join (b.campo3(+)=a.campo3) en este caso un left join, pero
ya no sobre toda la tabla, sino solamente sobre lo q realmente filtrado.
En el caso del join en el "from", hace un join de toda las 2 tablas, si
estas son grandes entonces se va a sentir el decaimiento en performance
considerable.
Saludos
Jose Alcantara
----- Original Message -----
From: "Luis Alfonso Cañas Triana" <luisalfonso(at)aldanet(dot)net(dot)co>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Thursday, June 30, 2005 7:07 PM
Subject: [pgsql-es-ayuda] Fw: Uso de left join
>
>
> Bueno , lo necesitaba asi porque es la forma en que lo he venido manejando
> en otras bases de datos.
>
> Pero si no se puede sera seguir el consejo y hacerlo en el from.
>
> Como siempre muchas gracias por sus respuestas
>
> att
> Luis Alfonso cañas
>
>
>
>> > >
>> > > > Tengo una pregunta referente al uso de left join.
>> > > >
>> > > > El left join en postgres solo puede ser usado en el from?
>> > >
>> > > Si
>> > >
>> > > > o existe alguna forma de usarlo en el where
>> > >
>> > > No
>> > >
>> > > > select areas.nombre,personas.nombre from personas,areas where
>> > > > personas.area=areas.codigo(+)
>> > >
>> > > Cual es la ventaja de esto? Que puedes hacer que no se pueda hacer
>> > > en
>> > > el FROM?
>> > >
>> >
>> > Es menos confuso si tienes muchas tablas que se relacionan mediante
>> > left
>> join...
>> >
>> > ademas es mas comodo, al menos asi lo vi yo cuando me toco aprender la
>> > sintaxis del JOIN... en informix, oracle y m$sql siempre pude hacerlo
>> > sin esa sentencia directo en el where... es decir, es solo un poco de
>> > maquillaje...
>> >
>> > --
>> > Atentamente,
>> > Jaime Casanova
>> > (DBA: DataBase Aniquilator ;)
>> >
>>
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>
> http://archives.postgresql.org/pgsql-es-ayuda
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.8/35 - Release Date: 30/06/2005
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | BeyondNet | 2005-07-01 17:31:15 | Nuevo artículo Patrón estructural Compuesto usando C# 2.0 |
Previous Message | Juan P. Aviles | 2005-07-01 16:24:02 | Re: Otra acerca de indices |