¿Explora la diferencia entre funciones y procedimientos almacenados en bases de datos?
Las funciones tienen muchas restricciones. Por ejemplo, no pueden usar tablas temporales y solo pueden usar variables en las tablas. También hay algunas funciones que no están disponibles, etc. Los procedimientos tienen relativamente pocas restricciones
1. En términos generales, las funciones implementadas por procedimientos almacenados son más complejas, mientras que las funciones implementadas por funciones están más concentradas.
2. Porque los procedimientos almacenados pueden devolver parámetros, mientras que las funciones solo pueden devolver valores u objetos de tabla.
3. Los procedimientos almacenados generalmente se ejecutan como una parte separada (ejecución EXEC), mientras que las funciones se pueden llamar como parte de una declaración de consulta (llamada SELECT). Debido a que la función puede devolver un objeto de tabla, puede hacerlo. estar ubicado en la declaración de consulta después de la palabra clave FROM.
4. Al ejecutar funciones y procedimientos almacenados, el administrador de SQL ingresará al caché del procedimiento almacenado para obtener la declaración de consulta correspondiente. Si no hay una declaración de consulta correspondiente en el caché del procedimiento almacenado, el administrador de SQL compilará. el procedimiento almacenado y la función.
El plan de ejecución se almacena en la caché del procedimiento almacenado. El plan de ejecución en la caché del procedimiento almacenado se ejecuta en el momento de la compilación y luego SQL SERVER considera si guardar el plan en la caché en función de la situación real. de cada plan de ejecución. SQL SERVER considerará si guardar el plan en el caché en función de la situación real de cada plan de ejecución. Los criterios de evaluación son la frecuencia con la que se puede utilizar el plan de ejecución y el costo de generar el plan, es decir, el tiempo empleado. en la compilación. No es necesario compilar los planes guardados en la caché la próxima vez que se ejecuten.