从TVF中选择时,OPTION(RECOMPILE)不起作用。它确实在TVF内部起作用,为什么?

时间:2018-11-06 15:13:16

标签: sql-server

我发现以下语句之间的行为截然不同。最底层的问题通过优化程序解决了我的问题,但是,我认为它们会产生相同的行为,因为UDF已内联到执行语句中。

在选择功能上的提示。

SELECT F1 FROM dbo.FunctionReturnsATable(P1,P2...) OPTION(RECOMPILE) 

提示选择函数的结果集。(解决了我的问题)

CREATE FUNCTION FunctionReturnsATable(P1,P2...)
AS BEGIN
    ...
    INSERT @Result SELECT F1,F2... FROM (<Outer CTE of many Inner CTE's>)AS X OPTION(RECOMPILE) 
    RETURN
END

0 个答案:

没有答案