1

データベースに実際のテーブルを実際に作成せずに、アプリケーションで外部テーブル( Oracle )を使用できるかどうか疑問があります。私がやろうとしているのは、 (約 25 GB) ファイルがあり、実際のデータベース テーブルにデータを作成してロードすることなく、ファイルに対して直接クエリ.txtを実行したいということです。それで、私の質問は、これが可能かどうかです。可能であれば、そうすることの欠点と利点は何ですか. どんな助けでも大歓迎です。 SQL.txt

4

2 に答える 2

3

可能ですが、外部テーブルの主な欠点は、そのようなテーブルにはインデックスを作成できないため、データの選択がかなり遅くなる可能性があることです。これを読んでください。

于 2013-10-10T09:05:56.977 に答える
2

並列クエリを適用することはできますが、もちろん、インデックスを作成したり、データを変更したり、統計の完全なセットを収集したりすることはできません (DBMS_STATS.GATHER_TABLE_STATS を使用していくつかの統計を収集できます。これは、Oracle が最適な結合戦略を決定するのに役立ちます)。

ファイルが論理的に複数のファイルに分割されていて、1 月のデータが特定のファイルにあることがわかる場合、複数の外部テーブルと、分割されたビューをエミュレートするための凝ったものを持つことができますが、それは面倒です。

実際にデータをロードする必要があります。そのパフォーマンスが懸念される場合は、テーブルに既に定義されているインデックスを使用してダイレクト パスのログなしロードを使用します。メディア障害が発生した場合でもデータをリロードできるため、ログはオプションです。

于 2013-10-10T09:17:27.227 に答える