sql >> Databáze >  >> RDS >> Sqlserver

SQL Server sp_ExecuteSQL a spouštěcí plány

Ne.

Pomocí následujícího dotazu můžete vidět oba prováděcí plány a porovnat je.

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'

Soubor sp_executesql verze bude mít objtype z "připraveno"



  1. Filtrování uživatelského vstupu

  2. Použití sady výsledků SELECT ke spuštění dotazu UPDATE s uloženými procedurami MySQL

  3. Ztráta připojení při pokusu o přidání nového sloupce do tabulky MYSQL

  4. Výběr z databáze na základě seznamu jedinečných párů