存储过程和触发器执行

SQL Server 仅存储存储过程和触发器的源。第一次执行存储过程或触发器时,源被编译为执行计划。如果在执行计划从内存老化掉之前再次执行该存储过程或触发器,则关系引擎将检测现有计划并重新使用它。如果该计划已从内存老化掉,将生成新的计划。此进程类似于 SQL Server 对所有 SQL 语句采用的进程。与动态 SQL 的批处理相比,存储过程和触发器在 SQL Server 中的主要性能优势是它们的 SQL 语句始终相同。因此,关系引擎能够轻松地将它们与任何现有执行计划相匹配。可以轻松地重新使用存储过程和触发器计划。

存储过程和触发器的执行计划与调用存储过程或激发触发器的批处理的执行计划是独立执行的。这样就有更大的机会重用存储过程和触发器的执行计划。