多くの索引があるOracleデータベース表に、約200万行のデータを挿入するにはどうすればよいですか? インデックスを無効にしてからデータを挿入する方法があることは知っています。誰が私に他のオプションが何であるか教えてもらえますか?SQLチューニング
1
A
答えて
0
レコードの挿入方法がわかりません。できれば;小さな塊にデータを挿入します。あなたがわからいる場合は、私の経験では20Kレコードの50セットは、多くの場合、迅速に1×1000000
より...
0
をデータベースファイルを使用すると、挿入時に、データベースの成長からあなたを救う開始する前に十分な大きさであることを確認していますインデックス以外にも、参照と制約のチェックを無効にすることができます。また、トランザクション分離レベルを下げることもできます。
これらのオプションにはすべて価格が付いています。各オプションは、インデックスキーの順序で
1
バルク・ロードで終わるかもしれ意味で破損したデータを持っていることのあなたのリスクを増加させます。これはOracle用の標準バルクロードユーティリティであり、使用方法がわかっていれば良い仕事です(Oracleと同じように)。
1
チェックSQL*Loaderアウト(performance optimizationについて特に段落)を使用すると、事前にソートされたデータとヌルFKさんなど
1
あなたは、挿入シーケンスは、大きなキャッシュ値を持っていることを確認します(1000は通常十分です)
- を書いた下に挿入ドを固定するために多くのトリックが存在します挿入する前にインデックスを作成してから作成してください(削除する前にインデックスの作成スクリプトを作成してください)。作成中にパラレルオプション
- を使用することができます。あなたが選択し、select文のためと並列ヒントを与えることができます挿入する場合は、あなたのデータの確実である場合は、NOVALIDATEオプションを使用することができます
- (NOVALIDATEオプションがオラクルに対して有効である、他のRDBMSシステムは、おそらく同様のオプションがあります)あなたは別の選択肢としてAPPENDヒント(ダイレクト・パスはを挿入)(ダイレクト・パス・インサート・コンセプトはオラクルに対して有効である、他のRDBMSシステムは、おそらく同様のオプションを持っている)
0
を使用することができます挿入し、1 Oracleを使用することができます高度で高速なデータ・ポンプ(expdp、impdp)ユーティリティの可用性10 G以降。ただし、Oracleは引き続き古いエクスポート/インポート(exp、imp)をサポートしています。
Oracleはいくつかの方法より速く、他よりも、データの読み込みのために多くの選択肢を提供してくれます:
- ORACLE10データ・ポンプのOracleインポートユーティリティ
- SQLインサートとのため
- 文PL/SQLのバルクロードをマージPL/SQL演算子forallを
- SQL * Loaderの
関連する問題
- 1. SQL Serverチューニング:データベースエンジンチューニングアドバイザ
- 2. SQLサーバーのチューニング
- 3. チューニングのSQL Server 2014
- 4. ヘルプのチューニングSQLクエリ
- 5. OracleでのSQLクエリのチューニング
- 6. Oracle OWB CubeがSQLチューニングをロードする
- 7. SQLチューニング戦略を示すテストシナリオ
- 8. チューニングQDataStream
- 9. スパークグループ化チューニング
- 10. Windows RPCチューニング
- 11. RODBCクエリのチューニング
- 12. HBaseのパフォーマンス・チューニング
- 13. Maximo Anywhere - パフォーマンス・チューニング
- 14. クエリのチューニングDashdb
- 15. PostgreSQLチューニングのベストプラクティス
- 16. WSO2 APIM - チューニング
- 17. スパーク・スタンドアロン・クラスタ・チューニング
- 18. Wildfly 10のチューニング
- 19. ストアドプロシージャのチューニング
- 20. Oracle 10gでOracle 9iをチューニングするための本のSQLチューニング・エキスパートを使用できますか?
- 21. SQLチューニング - 説明プランの "Bytes"の数が多い
- 22. より長い時間がかかります。チューニングSQLクエリ
- 23. SQL Server 2017:自動チューニングを有効にする
- 24. Oracle SQLチューニング・アドバイザ推奨を受け入れる
- 25. OracleのSQLパフォーマンス・チューニング多くのORとIN()
- 26. SQLクエリでNOT EXISTSをチューニングする最適な方法
- 27. @JmsListenerをチューニングする
- 28. Cassandra - 行キャッシュのチューニング
- 29. スパークPythonのパフォーマンス・チューニング
- 30. クラウドMLハイパーパラメータのチューニング
意味のある回答を得るためには、追加情報が必要だと思います。 UNDOのサイズが十分に大きければ、挿入を達成することが*唯一の*目標であれば問題ありません。読込み一貫性/ロールバックのために挿入を単一のトランザクションにする必要がありますか?挿入中に、他のソースからの表への同時DMLがありますか?これを単一の操作として実行する時間が非常に長くなるようなアプリケーションの性質ですか? – dpbradley
データを1つのトランザクションに挿入したい – venkat