SQL 2000からSQL 2008への移行を検討し始めたばかりで、新しいCROSS APPLY構文とINNER APPLY構文に注目しています。テーブル値を持つパラメータ化UDFまたは相関サブクエリ。Microsoft SQL Server 2008におけるJOINとAPPLYの相対効率
明らかに、UDFにロジックをカプセル化し、それを別のクエリで再利用できるようになるのはうれしいことですが、機能にはコストがかかります。
私はかなりネットを見回しましたが、インライン化した場合に得られるものよりもAPPLYベースのクエリを使用したときにどれだけパフォーマンスが低下するかを示すパフォーマンスメトリックは見つかりませんでした。同じクエリ。
正確な影響は特定のスキーマとクエリに大きく依存することがわかりましたが、実際のシステムをチューニングしてこれを共有する経験があれば、私は不思議でした。
"オフトピック:カプセル化はこれまでのところデータベースでしか行われていません。ある時点ではセットベースの利点を失います。"それを言うだけのプラスプラス! – HLGEM
はい、それはSQL開発の基本的な緊張のようです... :) – mwigdahl