【发布时间】:2009-10-03 08:55:15
【问题描述】:
我编写了一个复杂的查询,它将返回一个 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 运行它们时,我看不出两者之间的显着差异。但在实际实现中,结果可能是一百万行。
对于性能来说,哪一个会更好?
【问题讨论】:
标签: sql-server stored-procedures inline user-defined-functions