預存程序與觸發程序執行
SQL Server 2005 只會儲存預存程序和觸發程序的來源。當先執行預存程序或觸發程序時,會將來源編譯成執行計劃。如果在執行計劃從記憶體中淘汰之前,再執行一次預存程序或觸發程序,關聯式引擎會偵測到現有的計劃並重複使用它。如果計劃已從記憶體淘汰,就會建立新計劃。此處理序與 SQL Server 2005 對於所有 SQL 陳述式所依循的處理序類似。在 SQL Server 2005 中,相較於動態 SQL 的批次,預存程序與觸發程序的主要效能優點為,其 SQL 陳述式永遠都是相同的。因此,關聯式引擎可以輕易地將這些陳述式與任何現有的執行計劃搭配。可輕易重複使用預存程序及觸發程序計劃
在比 SQL Server 7.0 更舊的 SQL Server 版本中,預存程序對其他 SQL 陳述式有更為顯著的效能優點。這些舊版的 SQL Server 並不會重複使用非預存程序或觸發程序之批次的執行計劃。重新使用執行計劃的唯一方式,便是在預存程序中編碼 SQL 陳述式。
預存程序及觸發程序的執行計劃,將分別自呼叫預存程序、或引發觸發程序之批次的執行計劃中執行。這可以允許更多次重複使用預存程序及觸發程序執行計劃。