Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server sp_ExecuteSQL e piani di esecuzione

No.

Puoi vedere entrambi i piani di esecuzione e confrontarli utilizzando la seguente query.

SELECT usecounts, cacheobjtype, objtype, text, query_plan, value as set_options
FROM sys.dm_exec_cached_plans 
CROSS APPLY sys.dm_exec_sql_text(plan_handle) 
CROSS APPLY sys.dm_exec_query_plan(plan_handle) 
cross APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
where text like '%Some unique string in your query%' 
                                          and attribute='set_options'

Il sp_executesql la versione avrà un objtype di "preparato"