SQL Serverでビューをいつ使用するか、テーブル値関数をいつ使用するかを決定するための優れた決定ツリーを持っている人はいますか?
どのビューもほとんど簡単にインラインテーブル値関数に変換できますが、その逆は当てはまりません。
構成をパラメーター化する必要がある場合は、インラインのテーブル値関数を使用します。インラインテーブル値関数は、オプティマイザーがビューと組み合わせて物事をプッシュできるという点で、基本的にパラメーター化されたビューです。マルチステートメントのテーブル値関数は、インラインテーブル値関数とはまったく異なります。
インラインのテーブル値関数でそれを実行できない場合は、マルチステートメントのテーブル値関数を使用してください。
ビューで実行できない特定のことがあります(テーブル変数、結果セットを返す前の中間結果など)...それらが必要ない場合は、ビュー、必要な場合はsproc/udf :-)