Las vistas y los procedimientos almacenados sirven para fines completamente diferentes. Las vistas son una forma conveniente de referirse a un conjunto relacional complejo (como el que se une a muchas tablas) como una tabla plana sin forzar realmente la manifestación de los datos. Utiliza una vista para limpiar el código SQL. Sus procedimientos almacenados podrían llamar vistas. Las vistas se utilizan a menudo para el control de permisos. Puede otorgar a los usuarios de bases de datos acceso a una vista sin otorgarles acceso a las tablas subyacentes. Esto otorga al usuario permisos de nivel de columna en las columnas de la vista, que es un método mucho más granular para el control de permisos que otorgar acceso a tablas completas.
Los procedimientos almacenados se utilizan para mantener juntas la funcionalidad de uso frecuente como una unidad. Para ser honesto, los SP pierden el favor de muchos programadores. Si bien tiene razón en que los SP tienen sus planes de ejecución en caché, el SQL dinámico ha tenido el almacenamiento en caché del plan de ejecución desde SQL Server 2000 (creo que esa es la versión correcta). La única ganancia de velocidad que obtendrás yendo con los SP es enviando menos datos a través de la red, y eso será extremadamente mínimo. Los SP tienden a hacer que el código sea más frágil y requieren cambios en el DB para que ocurra cuando los cambios en la aplicación realmente no lo justifiquen. Por ejemplo, si solo desea cambiar las condiciones para las filas que está seleccionando. Con los SP, tendrá que transferir los cambios a la aplicación y al código de la base de datos. Si está utilizando SQL dinámico o una herramienta ORM, solo necesita hacer cambios en la aplicación que simplifica la implementación. Existe absolutamente un momento y lugar para los SP, pero no necesitan ser su único método para interactuar con la base de datos.
Además, si le preocupa el rendimiento, puede materializar vistas, lo que reduce la necesidad de consultar repetidamente las tablas subyacentes. Esto podría mejorar enormemente su rendimiento si siente la necesidad de agregar la sobrecarga adicional en las inserciones/actualizaciones que inducen las vistas materializadas.
Esas cosas se llaman procedimientos ** almacenados ** (con ** d ** al final) - no almacenan procedimientos .... –