Ver Mensaje Individual
  #8 (permalink)  
Antiguo 14/11/2012, 13:05
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta a tablas múltiples con varias condiciones

Cuando usas los mismos nombres en campos no relacionados, o bien no existen nombres relacionables.
El problema fundamental es que un JOIN implícito requiere que se lean las tablas antes de aplicar las condiciones del WHERE y que además los campos relacionados tengan el mismo nombre en ambas tablas, donde estás declarando las relaciones, y eso implica desperdicio de bloques de lectura inicial (acceso a disco innecesario), mientras que los explícitos usan los indices de las FK y por tanto sólo leen lo relacionado.
En esencia, cuando usan nombres de FK que no son iguales a las PK de origen, suelen generar un producto cartesiano en la lectura, lo que es calamitoso.
Por eso es posible que se generen errores en la lectura inicial, que luego se depuran en el WHERE, pero si el WHERE está mal definido...
Imaginate los resultados.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)