Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/01/2010, 13:21
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: 17 años, 3 meses
Puntos: 2658
Respuesta: Rendimiento de una consulta

Los algoritmos de planes de consulta tienen diferencias entre DBMS.
Además, la selección de una u otra forma de realizar la selección está afectada por estadísticas que los DBMS usan para verificar la eficiencia de una sobre otra de las técnicas. Así, puede darse que la misma consulta, con los mismos datos, se realice por métodos distintos en dos ejecuciones consecutivas. Esto es particularmente fácil de ver en los casos de estudio del Analizador de consultas de SQL Server.

MySQL, por ejemplo, puede usar métodos diferentes si se usa el ON o si se usa el USING en un INNER JOIN. O simplemente descartar las tablas si los valores necesarios están en un índice.
En cualquier caso, siempre es mejor que la vinculación por campos clave se realice a través de un JOIN (en cualquiera de sus variantes), por cuanto los DBMS usan el WHERE después de realizarlo y no antes.
El detalle fino de cómo selecciona uno u otro método lo debes consultar en los manuales de cada DBMS
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)