アプリケーションの特定の領域では、データベース内の複数のテーブルからのデータが必要です (アプリケーションがあり、アプリケーションには多くの属性があり、各属性にはいくつかの定義があり、各定義には値があります)。アプリケーション用にこれらすべてのテーブルのデータが必要です。レコードを選択するためにビュー (かなり大きいビュー) またはサブクエリを使用する必要がありますか? サブクエリの場合、オプティマイザは効率的に機能しますか? サブクエリでキャッシングが機能するかどうかも興味があります。
質問する
4292 次
2 に答える
2
ビューにクラスター化インデックスをドロップして永続化されたビューを明示的にマークしない限り、ビューは通常、その場でサブクエリに展開されます。
于 2008-10-08T09:54:00.730 に答える
1
これは「場合による」質問です。ビューはコードをより保守しやすくするのに役立つかもしれませんが、複雑な選択述語はオプティマイザを混乱させる可能性があります。
もう 1 つのオプションは、レコード セットを返すストアド プロシージャです。サブクエリを数回再利用すると、クエリを分割し、サブクエリを一時テーブルに選択し、後の手順で部分を結合することで、ある程度のマイレージが得られる場合があります。
問題のより具体的な説明がなければ、本当に意味のある答えを出すことは困難です。
于 2008-10-08T09:52:46.163 に答える