SQL。如何从实际执行计划中排除声明?

问题描述:

SQL 2008.我正在运行SQL Studio中的sproc,当我尝试获得实际执行计划时,它激活了tempdb。SQL。如何从实际执行计划中排除声明?

我缩小了问题的范围,调用700K行表上使用的行标量函数。

我推断,SQL试图创建该功能700K EXEC计划,所有的数据写入到tempdb中具有的3Gb自由空间..

我真的需要看到该功能的计划。

我可以明确排除exec计划生成语句吗?

您不能从执行计划中排除它,只能从查询中删除调用。

但是,它听起来像是从标量UDF切换到内联表UDF的主要候选者。由于在查询中每行运行一次,所以标量UDF可能是性能较差的重要原因。

已通过this article阅读,其中包含一个演示示例。

+0

够公平的..但是没有必要重写函数,因为它需要5秒来每天运行一次该语句......它只是执行计划被翘起。 – 2010-11-11 20:51:22

+0

@鲍勃 - 好的,那么不会有太大的影响。一般来说,整个标量和内联表UDF主题值得记住。 – AdaTheDev 2010-11-11 21:05:47