2016-09-30 11 views
1

私は多くの記事を読んでいます。外部テーブルはsqlloaderを使用していますが、主な利点は外部テーブル用にSQLで利用できる多くのオプションを持つ選択クエリを最適化することです。しかし、私は大きなファイル(1.5 GB)で選択するのが難しいと思っています。選択カウント(*)の場合は、実行するのに数分かかります。私たちはOracleの外部テーブルを使うことができます

私の計画は、このデータからいくつかのselect文を実行することによって、このデータに基づいてレポートを生成することです。私はこれが内部テーブルにデータを読み込むのに比べて良いアイデアかどうか疑問に思います。

外部テーブルの理想的な使い方は、クリーンアップを実行するためにファイルに対してSELECTを実行し、内部テーブルに効率的にロードすることです。ファイルをテーブルとして長期間使用することを目的としたものではありません(特に大きなファイルの場合)。私が間違っている場合は修正してください。

答えて

0

大きなファイルから複数のデータを選択して実行する場合は、内部のステージングテーブル(SQLoaderまたは外部テーブルのいずれかを選択して挿入)にロードしてからクエリを実行する方がはるかに優れています。
クエリの処理速度を上げるために、テーブルにインデックスを作成することを検討してください。

関連する問題