No le llamemos casualidad!! buscando el mismo hace un proceso diferente porque tu segunda query primero seguramente filtra con el where y después recién procede a las asociaciones entre tablas. Saludos
~~~~~~~~~~~~~~~~ Guillermo Villanueva El 26 de agosto de 2010 12:15, Sergio Gabriel Rodriguez < sgrodrig...@gmail.com> escribió: > 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 (pgsql-es-ayuda@postgresql.org > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda >