combinaciones externas son más caras que las uniones interiores. Lo que voy a decir va a ser controvertido para muchos. Si sintonizas la base de datos correctamente y si no haces nada tonto y si estás utilizando un RDBMS de fuerza profesional, entonces 7 combinaciones internas no deberían ser un problema.
¿Qué quiero decir con ajuste de base de datos? Hay mucho para ajustar la base de datos, pero lo más obvio para verificar es asegurarse de que siempre se une a las columnas que están indexadas.
¿Qué quiero decir con goofy? No use el operador O en su condición de unión. Intente mantener sus uniones en una sola comparación, como una clave externa en una tabla que iguale la clave principal en la otra tabla. Intenta mantener todos los campos clave escritos como enteros.
Si se encuentra con problemas de rendimiento, entonces asegúrese de estudiar el plan de ejecución de la consulta ofensiva. Por ejemplo, puede tener problemas al unirse a tablas realmente grandes, tan grandes que incluso un escaneo de índice es demasiado lento. Es posible que tenga que desnormalizar y proporcionar un filtrado adicional para reducir los tiempos de escaneo. No trates de anticipar esto. La desnormalización se realiza mejor apenas y solo después de que te encuentres con situaciones reales de rendimiento.
¿tiene índices en las columnas utilizadas para la condición de unión (así como en cualquier columna utilizada para otra condición, como en la cláusula where)? puede * realmente * ayudar. En general, he escuchado que inner es mejor para el rendimiento que el izquierdo, pero lo que debe usarse depende de lo que quiera obtener ^^ –