我编写了一个复杂的查询,它将返回一个 ID 列表。现在我想重新使用这个查询,以便将结果与另一个查询连接起来。为此,我计划将其放入存储过程或 UDF 中,然后使用它插入临时表。
像下面的东西
1)将查询放入存储过程并将其插入临时表
INSERT INTO #TEMP
EXEC SP_COMPLEX(@PARAM1,@PARAM2...@@PARAMN)
2)将查询放入UDF并将其插入临时表
INSERT INTO #TEMP
SELECT ID_LIST FROM DBO.UDF_COMPLEX(@PARAM1,@PARAM2...@@PARAMN)
当我运行它们以获得 1000 个 ID 的结果时,我看不出两者之间的显着差异。但在实际实现中,结果可能是一百万行。
对于性能,哪一个会更好?