Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/11/2012, 14:45
Avatar de zeliq
zeliq
 
Fecha de Ingreso: noviembre-2012
Ubicación: Barcelona
Mensajes: 17
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Consulta a tablas múltiples con varias condiciones

Cita:
Iniciado por gnzsoloyo Ver Mensaje
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.
ya veo... gracias por tu explicación.