Dear Martin, In fact, this program is an extracted version of a big system. In this system, we're using apache-commons-dbutils to execute the database operations. I know the commons-dbutils always use preparedstatement to execute sql, and always close the resultset and the preparedstatement after each query, so I write this simple program to verify my guess. I add the close statement of the resultset and the jdbc statement, and rerun the benchmark, the result is same: with jdbc normal statement, the memory usage starts from 17M, to 85M after first 10,000 queries, then to 92M after the second 10000 queries, then 93M, 94M ....about 1M memory increase per 10000 queries. But with the jdbc prepared statement(I have closed the resultset and the preparedstatement and the connection after each query), the memory usage starts from 17M to 800M after first 10000 queries, after 4-5 times benchmark, the mserver5 process will use more then 2G memory and crashed. Finally, Is the latest monetdb5 program stable enough for production use? I love its light speed:) It's really a great database for query intensive program. Thank you. /////////////////////////////////////////////////////////////////////////////////// finally { try { rs.close(); } catch (SQLException e1) { } try { stmt.close(); } catch (SQLException e1) { } try { conn.close(); } catch (Exception e) { } }