在Oracle,MySQl或MSSQL的ResultSet中,如何让循环的结果集更快?
while (rs.next()) {
for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
rs.getString(i)
}
}
只要你不需要很多列,这就行得很好,但是只要你有90列和100 000行,那么这个for循环就会通过90 000次90 000行。
答案 0 :(得分:2)
要尝试的一件事就是只计算一次列数:
int colCount = rs.getMetaData().getColumnCount();
while (rs.next()) {
for (int i = 0; i < colCount; i++) {
rs.getString(i)
}
}