Webサイトのコンテンツを解析し、htmlテーブルの各行をOracleデータベースに挿入するJavaコードがあります。ウェブサイトは、私が解析したいの周りに70000ページがあり、各ページには、このような、をループに非常に単純なURLを持っている:私は2にIDを変更したときに一度に100万レコードをデータベースに挿入する前に、どのような対策を講じなければなりませんか?
http://website.com/contents?id=1
だから、基本的に次のページに移動します。また、各ページには平均14〜15行のhtmlテーブルがあります。
また、(java.util.logging.Loggerを介して)ログファイルを作成して、挿入に問題がないかどうかを確認します。
私はページID10(150レコード前後)まで試してみましたが、問題なく動作しましたが、まだ70000ページ(1.000.000レコード)は試していませんでした。私は自宅のコンピュータとoracle express editionでこれをやっています。一度に1.000.000レコードを挿入しようとするとどうなりますか?
これをテストし、何が起こっているかを確認することを検討する必要があります。ほぼ確実に、ユースケースを予測することはできません。 –
ボトルネックは、Oracle DBへの挿入操作ではなく、HTMLページの受信と解析です。 –
Oracle側では、Oracleが10000行ごとに変更をコミットしていることを確実に確認してください.1つのトランザクションにすべての行を挿入しようとすると、SGAが氾濫してトランザクションがロールバックされる可能性が高くなります。 –