Сделал такую вот подборку. Читать, пробовать, расширять кругозор. Собственно, оптимизация запросов вокруг этого и пляшет
Кэширование и повторное использование плана выполнения
Указание механизма параметризации запросов с помощью структур плана
Семь смертных грехов программиста на T-SQL
select top 50 *
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST
order by QS.total_worker_time/QS.execution_count
select * from sys.dm_exec_cached_plans
—https://technet.microsoft.com/ru-ru/library/ms187404(v=sql.105).aspx
sys.dm_exec_cached_plans
—Âîçâðàùàåò ñòðîêó äëÿ êàæäîãî ïëàíà çàïðîñà, êýøèðóåìîãî SQL Server äëÿ áîëåå áûñòðîãî âûïîëíåíèÿ çàïðîñîâ.
—ìîæíî èñïîëüçîâàòü ñî ñëåäóþùèìè ôóíêöèÿìè äèíàìè÷åñêîãî óïðàâëåíèÿ
sys.dm_exec_sql_text
sys.dm_exec_query_plan
sys.dm_exec_plan_attributes
—SQL-òåêñò âñåõ êýøèðîâàííûõ çàïèñåé, èñïîëüçîâàííûõ áîëåå îäíîãî ðàçà.
SELECT usecounts, cacheobjtype, objtype, text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
WHERE usecounts > 1
ORDER BY usecounts DESC;
GO
—Âîçâðàùåíèå ïëàíîâ çàïðîñîâ äëÿ âñåõ êýøèðîâàííûõ
SELECT plan_handle, query_plan, objtype
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_query_plan(plan_handle)
—WHERE objtype =’Trigger’;
GO
—ðàñïðåäåëåíèå ïàìÿòè, èñïîëüçóåìîé âñåìè ñêîìïèëèðîâàííûìè ïëàíàìè â êýøå.
SELECT plan_handle, ecp.memory_object_address AS CompiledPlan_MemoryObject,
omo.memory_object_address, pages_allocated_count, type, page_size_in_bytes
FROM sys.dm_exec_cached_plans AS ecp
JOIN sys.dm_os_memory_objects AS omo
ON ecp.memory_object_address = omo.memory_object_address
OR ecp.memory_object_address = omo.parent_address
WHERE cacheobjtype = ‘Compiled Plan’;
GO
—SQL-òåêñò+ïëàí çàïðîñà âñåõ êýøèðîâàííûõ çàïèñåé, èñïîëüçîâàííûõ áîëåå îäíîãî ðàçà.
SELECT usecounts, cacheobjtype, objtype, text,plan_handle, query_plan, objtype
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
CROSS APPLY sys.dm_exec_query_plan(plan_handle)
WHERE usecounts > 1
ORDER BY usecounts DESC;
GO
