OJDBC を使用して、データベースから特定の主キーのセットにデータを取得します。アルゴリズムを効率的にするために、テーブル全体を取得するのではなく、ループを特定のセットに制限します。
私はそのようにします
for (Integer customer : customers){
String selectStatement= "SELECT * FROM table WHERE customerID ="+customer;
processCustomer(selectStatement,statement);
}
connection.close();
System.out.println("Done");
}
catch (SQLException e){
System.out.println("Connection Failed! Check output console");
System.out.println(e.getMessage());
}
processCustomer メソッドはクエリを処理し、必要に応じて HashMap を埋めます。
これはベスト プラクティスではないと思います。なぜなら、私は顧客ごとに DB をヒットし (100k に達する可能性があります)、プロセスを完了するのに多くの時間がかかるからです。
それを行う最も効率的な方法は何ですか