在SQL Server中,我有一個基於CLR集成的表值函數GetArchiveImages。我稱之爲這樣的事情:使用CLR集成表函數進行高效交叉應用
SELECT ...
FROM Items
CROSS APPLY GetArchiveImages(Items.ID) AS archiveimages
WHERE ...
問題是每個單獨的函數調用都會有開銷。
如果它可以一次連接到整個表格,開銷會很小,但由於每行調用一次,所以開銷會隨着行數而變化。
我不使用存儲過程,因爲存儲過程返回的表不能與任何東西連接(據我所知)。
有沒有一種有效的方式來連接表與散裝的存儲過程或函數的結果,而不是逐行連接?
也許'WITH'會適合您的需求。它會根據您選擇的select語句創建一個臨時表。 [這是一些信息](http://msdn.microsoft.com/en-us/library/ms175972.aspx)。那會是你想要的嗎? – Tikkes
我對Common Table Expressions很熟悉,我不明白它們在這種情況下會如何。 –