2010-11-11 46 views
1

SQL 2008.我正在運行SQL Studio中的sproc,當我嘗試獲得實際執行計劃時,它激活了tempdb。SQL。如何從實際執行計劃中排除聲明?

我縮小了問題的範圍,調用700K行表上使用的行標量函數。

我推斷,SQL試圖創建該功能700K EXEC計劃,所有的數據寫入到tempdb中具有的3Gb自由空間..

我真的需要看到該功能的計劃。

我可以明確排除exec計劃生成語句嗎?

回答

3

您不能從執行計劃中排除它,只能從查詢中刪除調用。

但是,它聽起來像是從標量UDF切換到內聯表UDF的主要候選者。由於在查詢中每行運行一次,所以標量UDF可能是性能較差的重要原因。

已通過this article閱讀,其中包含一個演示示例。

+0

夠公平的..但是沒有必要重寫函數,因爲它需要5秒來每天運行一次該語句......它只是執行計劃被翹起。 – 2010-11-11 20:51:22

+0

@鮑勃 - 好的,那麼不會有太大的影響。一般來說,整個標量和內聯表UDF主題值得記住。 – AdaTheDev 2010-11-11 21:05:47