Hi,
Executing the following code results in an increase of 1GB in memory
usage by the process.
String sql = "SELECT
cd_id,cd_fp1,cd_fp2,cd_fp3,cd_fp4,cd_fp5,cd_fp6,cd_fp7,cd_fp8,cd_fp9,cd_fp10,cd_fp11,cd_fp12,cd_fp13,cd_fp14,cd_fp15,cd_fp16,cd_smiles
FROM editexample1";
PreparedStatement ps = conn.prepareStatement(sql);
try {
ResultSet rs = ps.executeQuery();
try {
while (rs.next()) {
int cdId = rs.getInt(1);
for (int i = 0; i < 16; i++) {
int fp = rs.getInt(i+2);
}
String cdSmiles = rs.getString(18);
}
} finally {
rs.close();
}
} finally {
ps.close();
}
The result set contains 1 250 000 rows.
I am not sure if this is a memory leak or the driver just caches the
result set on the client side. If this is the latter, is there a way to
turn off client side caching? If the former, how should I proceed to
find the problem?
Thank you!
Peter