SQL。如何从实际执行计划中排除声明?
问题描述:
SQL 2008.我正在运行SQL Studio中的sproc,当我尝试获得实际执行计划时,它激活了tempdb。SQL。如何从实际执行计划中排除声明?
我缩小了问题的范围,调用700K行表上使用的行标量函数。
我推断,SQL试图创建该功能700K EXEC计划,所有的数据写入到tempdb中具有的3Gb自由空间..
我真的需要看到该功能的计划。
我可以明确排除exec计划生成语句吗?
答
您不能从执行计划中排除它,只能从查询中删除调用。
但是,它听起来像是从标量UDF切换到内联表UDF的主要候选者。由于在查询中每行运行一次,所以标量UDF可能是性能较差的重要原因。
已通过this article阅读,其中包含一个演示示例。
够公平的..但是没有必要重写函数,因为它需要5秒来每天运行一次该语句......它只是执行计划被翘起。 – 2010-11-11 20:51:22
@鲍勃 - 好的,那么不会有太大的影响。一般来说,整个标量和内联表UDF主题值得记住。 – AdaTheDev 2010-11-11 21:05:47