Share via


Esecuzione di stored procedure e trigger

In SQL Server viene archiviata solo l'origine di stored procedure e trigger. Se una stored procedure o un trigger viene eseguito per la prima volta, l'origine viene compilata in un piano di esecuzione. Se la stored procedure o il trigger viene eseguito nuovamente prima che il piano di esecuzione venga rimosso dalla memoria, il motore relazionale rileva e riutilizza il piano esistente. Se il piano è stato rimosso dalla memoria, ne verrà creato uno nuovo. Questo processo è simile al processo eseguito in SQL Server per tutte le istruzioni SQL. Rispetto ai batch del linguaggio SQL dinamico, il principale vantaggio offerto dalle stored procedure e dai trigger di SQL Server in termini di prestazioni è rappresentato dalla presenza di istruzioni SQL sempre uguali che, pertanto, il motore relazionale mette agevolmente in corrispondenza con tutti i piani di esecuzione esistenti. I piani di stored procedure e trigger sono quindi facilmente riutilizzabili.

Il piano di esecuzione delle stored procedure e dei trigger viene eseguito indipendentemente dal piano di esecuzione del batch che chiama la stored procedure o che attiva il trigger. In tal modo viene garantito un maggiore riutilizzo dei piani di esecuzione delle stored procedure e dei trigger.