1

我正在执行

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 中)。

任何帮助表示赞赏。

4

0 回答 0