Esto puede ser una pregunta tonta, pero puede arrojar algo de luz sobre cómo las uniones funcionan internamente.Acelerando las uniones internas entre una mesa grande y una mesa pequeña
Digamos que tengo una tabla grande L
y una pequeña tabla S
(100K filas vs. 100 filas).
Habría alguna diferencia en términos de velocidad entre las dos opciones siguientes ?:
OPTION 1: OPTION 2:
--------- ---------
SELECT * SELECT *
FROM L INNER JOIN S FROM S INNER JOIN L
ON L.id = S.id; ON L.id = S.id;
en cuenta que la única diferencia es el orden en el que se unen las tablas.
Me doy cuenta de que el rendimiento puede variar entre los diferentes lenguajes SQL. Si es así, ¿cómo se compararía MySQL con Access?
Entonces, dado que ambas tablas tienen índices únicos, el rendimiento variará caso por caso. – Zaid
@Zaid: si las estadísticas están actualizadas (y la consulta se vuelve a compilar como se indicó anteriormente), el orden de la unión no tendrá importancia; el optimizador elegirá el camino correcto. –
Sí, tal vez debería haber incluido uniones múltiples y anidadas en el OP ... – Zaid