これが私のスクリプトの機能です:
2,700 万行のドキュメントを 1 行ずつ解析します。各行を取得して解析し、必要な情報をデータベース テーブルに挿入します (JDBC を使用)。
問題は、 prepareStatement.executeUpdate() メソッドが非同期ではないため、返されるまで待機することです。これが私のボトルネックです。2700万行を解析するのに約2日かかります:(
JDBC は非同期をサポートしていないため、それぞれの executeUpdate() 呼び出しをスレッドでラップしたいと考えています。毎回新しいスレッドを作成する必要がありますか? または、スレッド プールを使用する必要がありますか?また、そのスレッド プールを作成するにはどうすればよいですか?
行の解析にはほとんど時間がかからないため、スレッド プールで待機しているアクティブなタスクの数が使用可能なスレッドの数を上回り、オープンを待機しているタスクがボトルネックとなり、線形に戻るのではないかと心配しています。スレッド。
ありがとう