我有一个名为STOREDPROC
的存储过程,它调用一个表值函数TABLEFUNCTION
。
我知道我可以通过WITH RECOMPILE
选项执行它来删除存储过程的缓存。这还会删除程序中调用的函数的缓存吗?如果没有,那么有没有办法删除SQL Server中给定函数的缓存?
答案 0 :(得分:0)
以下文章详细介绍了如何获取函数的缓存计划:
使用此信息,您可以相对轻松地确定使用WITH RECOMPILE选项是否能够清除任何嵌入式函数的缓存。您还应该检查Option(Recompile)
。
您还应该查看文章http://support2.microsoft.com/kb/2801413/en-us
顺便说一句,要清除整个计划缓存,您需要执行命令DBCC FREEPROCCACHE。