1

アプリケーションの特定の領域では、データベース内の複数のテーブルからのデータが必要です (アプリケーションがあり、アプリケーションには多くの属性があり、各属性にはいくつかの定義があり、各定義には値があります)。アプリケーション用にこれらすべてのテーブルのデータが必要です。レコードを選択するためにビュー (かなり大きいビュー) またはサブクエリを使用する必要がありますか? サブクエリの場合、オプティマイザは効率的に機能しますか? サブクエリでキャッシングが機能するかどうかも興味があります。

4

2 に答える 2

2

ビューにクラスター化インデックスをドロップして永続化されたビューを明示的にマークしない限り、ビューは通常、その場でサブクエリに展開されます。

于 2008-10-08T09:54:00.730 に答える
1

これは「場合による」質問です。ビューはコードをより保守しやすくするのに役立つかもしれませんが、複雑な選択述語はオプティマイザを混乱させる可能性があります。

もう 1 つのオプションは、レコード セットを返すストアド プロシージャです。サブクエリを数回再利用すると、クエリを分割し、サブクエリを一時テーブルに選択し、後の手順で部分を結合することで、ある程度のマイレージが得られる場合があります。

問題のより具体的な説明がなければ、本当に意味のある答えを出すことは困難です。

于 2008-10-08T09:52:46.163 に答える