> > > Buenas Tardes Lista > > tengo una consulta que une dos tablas con un Join. Asi > > Select * from tabla_1 > left join tabla_2 on tabla_2.id_tabla2=tabla1.id_tabla_2 > where tabla_1.id_tabla_2 is not null > > Pero cuando hago esta la consulta, demora mas que cuando la hago de > esta forma: > > > > Select * from tabla_1 > left join tabla_2 on tabla_2.id_tabla2=tabla1.id_tabla_2 > where tabla_2.id_tabla_2 is not null > > > Alguien pudiera ayudarme a entender cual es la diferencia y como > opera el join que pueda hacer que tarde mas una consulta que la > otra? pues me temo que tengo varias consultas mas formuladas en este > aspecto. > > > > Aless >
La manera mas simple que se me ocurre, es que en tabla_2 haya mas registros que en tabla_1. La aproximacion a este tipo de problemas suele comenzar con el analisis del plan de ejecucion. La sentencia EXPLAIN [1] hace eso. Hace un EXPLAIN ANALYZE de ambos selects, y a partir de ahi hay que estudiar un poco las diferencias a nivel de plan. [1] http://www.postgresql.org/docs/current/static/sql-explain.html HTH Gerardo - 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