SQL Serverには、CLR統合ベースのテーブル値関数GetArchiveImagesがあります。私はそれを次のように呼んでいます:
SELECT ...
FROM Items
CROSS APPLY GetArchiveImages(Items.ID) AS archiveimages
WHERE ...
問題は、関数への個々の呼び出しごとにオーバーヘッドがあることです。
テーブル全体と一度に結合できる場合、オーバーヘッドはごくわずかですが、行ごとに1回呼び出されるため、そのオーバーヘッドは行数に比例します。
ストアドプロシージャによって返されるテーブルは(私が知る限り)何とも結合できないため、ストアドプロシージャは使用しません。
行ごとではなく、ストアドプロシージャまたは関数の結果をまとめてテーブルに結合する効率的な方法はありますか?