在 SQL Server 中,我有一个基于 CLR 集成的表值函数 GetArchiveImages。我这样称呼它:
SELECT ...
FROM Items
CROSS APPLY GetArchiveImages(Items.ID) AS archiveimages
WHERE ...
问题是对函数的每个单独调用都有开销。
如果它可以一次与整个表连接,开销将非常小,但由于它为每一行调用一次,所以开销会随着行数的增加而增加。
我不使用存储过程,因为存储过程返回的表不能与任何东西连接(据我所知)。
有没有一种有效的方法将表与存储过程或函数的结果批量连接,而不是逐行连接?