java - How to test if a PreparedStatement is going to run out of memory -
java - How to test if a PreparedStatement is going to run out of memory -
so have java code using jdbc insert info postgresql database using prepared statement looks little this:
preparedstatement statement = // prep statement  (int value: values) {      statement.setint(1, value);     statement.addbatch(); }  statement.executebatch();    the problem is, i'm hitting exception java.lang.outofmemoryerror: java heap space.  i've taken around, can't find on it; how test if statement run out of memory can execute batch.  this:
preparedstatement statement = // prep statement  (int value: values) {      statement.setint(1, value);     statement.addbatch();      if (statement.currentsize() + sizeof(int) > statement.mazsize()) {          statement.executebatch();     } }  statement.executebatch();    thanks help.
there no reliable way find out in advance whether instantiation fail.
however, more point: misusing jdbc batching facility, there solve issue of network roundtrip overhead when inserting many rows. batch sizes of above 100 show diminishing returns , may result in slowdowns.
so, alter batching policy utilize fixed batch size of smallish, double-digit integer.
 java postgresql jdbc prepared-statement 
 
  
Comments
Post a Comment