La combinación izquierda parece ser más rápida porque SQL se ve obligado a hacer primero la selección más pequeña y luego unirse a este conjunto más pequeño de registros. Por alguna razón, el optimizador no quiere hacer esto de forma natural.
3 formas de forzar que las uniones sucedan en el orden correcto:
- Seleccione el primer subconjunto de datos en una tabla temporal (o variable de tabla) y luego únase a ella
- Use combinaciones izquierdas (y recuerde que esto podría devolver datos diferentes porque es una combinación izquierda, no una combinación interna)
- utilice la palabra clave FORCE ORDER. Tenga en cuenta que si los tamaños de las tablas o los esquemas cambian, es posible que el plan de consulta no sea correcto (consulte https://dba.stackexchange.com/questions/45388/forcing-join-order )