Condiciones en LEFT JOIN

From: Sergio Gabriel Rodriguez <sgrodriguez(at)gmail(dot)com>
To: PostgreSQL Español Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Condiciones en LEFT JOIN
Date: 2010-08-26 15:15:26
Message-ID: AANLkTinG1EQfdXTxQA1vjr_DQ5aSTUgHHB0XzhuhHDPx@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista, tengo un pequeño problema de concepto y seguro alguno me
puede dar un poco de luz, tengo una consulta que usa LEFT JOIN, se la
resumo esquematicamente:

SELECT a.campo1, b.campo2
FROM a LEFT JOIN b ON (a.campo3 = b.campo3 AND a.campo4 = b.campo4
AND b.campo5 = 8)

esta consulta, obviamente es más grande y con muchos más campos, me
lleva aproximadamente 1 minuto 40 segundos, en cambio si lo hago asi:

SELECT a.campo1, b.campo2
FROM a LEFT JOIN b ON (a.campo3 = b.campo3 AND a.campo4 = b.campo4)
WHERE b.campo5 = 8;

devuelve el mismo resultado y tarda 400 ms.. hice los explain analyze
y usa diferentes índices para ejecutar una u otra, mi pregunta es, ¿es
sólo problema de índices o el resultado que arrojan sólo coinciden de
casualidad pero hacen cosas diferentes?

Espero haberme explicado..

Saludos!

Sergio.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo Villanueva 2010-08-26 15:25:16 Re: Condiciones en LEFT JOIN
Previous Message Edwin Quijada 2010-08-26 01:23:36 RE: compilando en windows con Mingw