Compartir a través de


Ejecutar un procedimiento almacenado y un desencadenador

SQL Server 2005 almacena únicamente el origen de procedimientos almacenados y desencadenadores. La primera vez que se ejecuta un procedimiento almacenado o un desencadenador, el origen se compila en un plan de ejecución. Si el procedimiento almacenado o el desencadenador se ejecutan de nuevo antes de que el plan de ejecución quede anticuado en la memoria, el motor relacional detecta el plan existente y vuelve a utilizarlo. Si el plan ha quedado anticuado en la memoria, se genera uno nuevo. Este proceso es similar al que sigue SQL Server 2005 para procesar todas las instrucciones SQL. La ventaja de rendimiento principal que tienen los procedimientos almacenados y los desencadenadores en SQL Server 2005 en comparación con lotes de SQL dinámico es que sus instrucciones de SQL siempre son las mismas. Por lo tanto, el motor relacional los hace coincidir fácilmente con los planes de ejecución existentes. El procedimiento almacenado y los planes del desencadenador se reutilizan fácilmente.

Los procedimientos almacenados tienen una importante ventaja de rendimiento sobre otras instrucciones SQL de las versiones anteriores de SQL Server anteriores a SQL Server 7.0. En estas versiones anteriores de SQL Server no se intentaba utilizar de nuevo los planes de ejecución para los lotes que no fueran procedimientos almacenados o desencadenadores. La única forma de volver a utilizar los planes de ejecución era codificar las instrucciones SQL en procedimientos almacenados.

El plan de ejecución para los procedimientos almacenados y los desencadenadores se ejecuta aparte del plan de ejecución del lote que llama al procedimiento almacenado o que activa el desencadenador. Esto proporciona mayor flexibilidad para volver a utilizar los planes de ejecución de los procedimientos almacenados y desencadenadores.

Vea también

Conceptos

Arquitectura del procesador de consultas

Ayuda e información

Obtener ayuda sobre SQL Server 2005