Escenario:¿La consulta sobre una vista es más lenta que la ejecución de SQL directamente?
Tengo que unir 3 tablas, una cláusula where para limitar el conjunto de resultados, y solo unas pocas columnas de cada tabla que se selecciona. Sencillo. Sin embargo, la consulta para hacer esto no es muy bonita, y cuando se utiliza un ORM entre la base de datos y la aplicación, es como tratar de poner una clavija cuadrada en un agujero redondo.
Mi forma de evitar esto es crear una vista que abarque la consulta y ahora mi modelo de aplicación se asigna directamente a una vista en la base de datos; no más mapas locos de la capa ORM.
Pregunta: Suponiendo que no entren en juego otros factores, ¿La consulta contra la vista incurrirá en penalizaciones de rendimiento adicionales que no habría alcanzado si ejecutara la instrucción SQL directamente? - Esta no es una vista indexada, asume la misma cláusula where, mantén esto simple.
Me están haciendo creer que una vista sufre de gastos adicionales de "construcción". Mi entendimiento es que con todo lo demás igual, los dos deberían tener un rendimiento idéntico.
Por favor, aclare. ¡Gracias!
Depende de su base de datos, y muchas otras cosas. Si es MySQL, la respuesta es Sí, es más lento. – nos