2016-10-07 8 views
0

select * として実行すると、コード実行に15分かかりますが、作成するテーブルを追加すると実行には70分かかります。oracleでテーブル作成の高速化を行う方法

私のデータセットは4,800万行と50個の巨大です。

は、Oracle

+1

クエリプランは異なりますか? 'select'では、最初の行をフェッチするのに必要な時間を測定していますか?または最後の行を取得するには? –

+0

おそらく、最初の行が戻ったときに基づいて照会自体のパフォーマンスを測定しています。 'create table'は、最後の行が返ったときにのみ返ります。 –

答えて

0

でテーブルを作成するための効率的な方法は、それだけでクエリ以上のことをする必要があるため、それが作成するテーブルで時間がかかりあります。また、テーブルを作成して、そのデータを新しいテーブルにコピーする必要があります。通常のcreate tableを実行すると、挿入またはマージを別々のステートメントとして実行したり、いくつかのパラレル・インサートを実行したりすることができますが、パフォーマンスが向上する可能性は低いです。 50列の4800万行を集中的にコピーします。

関連する問題