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.
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a