Получил этот уродливый кусок кода, который я хотел бы заставить работать быстрее. Это работало хорошо, пока мне не пришлось добавить метод setMotherTableValues (). Как и сейчас, я выполняю этот поиск около 48 000 раз, и это убивает программу. Есть ли способ улучшить это?
У меня нет полномочий изменять какие-либо столбцы в базах данных.
public void populateMdbRecognitions(ArrayList<MdbRecognition> recognitions, String genid,
String issueid, String issueexpression, String issuedetails,
String tablename) throws SQLException {
ResultSet rs = statement.executeQuery("SELECT `" + genid + "`, `" + issueid + "`, `"
+ issueexpression + "`, `" + issuedetails + "` FROM " + tablename);
while (rs.next()) {
String gen_id = removeAmpsFromGenId(rs.getString(genid));
String issue_id = rs.getString(issueid);
String issue_details = rs.getString(issuedetails);
String issue_expression = rs.getString(issueexpression);
MdbRecognition recognition = new MdbRecognition(gen_id, issue_id,
issue_details, issue_expression, tablename);
recognitions.add(recognition);
}
for (MdbRecognition mdbRecognition : recognitions){
setMotherTableValues(mdbRecognition);
}
}
public void setMotherTableValues(MdbRecognition mdbRecognition) throws SQLException {
ResultSet rs = statement.executeQuery("SELECT `mandatory?`, category, subcategory FROM __MOTHER_ISSUE_TABLE_7 WHERE issue_id ='" + mdbRecognition.getIssueId()+"'");
while (rs.next()){
mdbRecognition.setMandatory(rs.getString("mandatory?").trim());
mdbRecognition.setCategory(rs.getString("category").trim());
mdbRecognition.setSubcategory(rs.getString("subcategory").trim());
}
}