Как я узнаю, что план запроса признан недействительным?
Я исполняю
EXEC sp_recompile <tablename>
но я все еще вижу план запроса, кэшированный для этой таблицы:
SELECT
CP.[objtype]
, CP.[cacheobjtype]
, CP.[size_in_bytes]
, CP.[refcounts]
, CP.[usecounts]
, ST.[text]
FROM
sys.dm_exec_cached_plans as CP
CROSS APPLY sys.dm_exec_sql_text (CP.[plan_handle]) as ST
WHERE
1 = 1
AND ST.[text] NOT LIKE '%dm_exec_cached_plans%'
AND ST.[text] LIKE '%<tablename>%'
ORDER BY
CP.[objtype]
Почему это происходит?
Я думаю, что план просто признан недействительным, и он будет обновляться во время следующего выполнения. Существует ли способ найти (может быть, в DMV), если этот план признан недействительным (или помечен для перекомпиляции).
Любая помощь приветствуется.