Some tips, like use of addBatch() http://rgarg.blogspot.com/2005/10/jdbc-performance-pointers.html http://www.theserverside.com/articles/content/JDBCPerformance_PartIII/article.html Nice discussion about preparestatement caching http://www.theserverside.com/news/thread.tss?thread_id=27528 http://www.ibm.com/developerworks/java/library/j-jdbcnew/ http://blog.jooq.org/2014/05/26/yet-another-10-common-mistakes-java-developer-make-when-writing-sql-you-wont-believe-the-last-one/ Statement.getWarnings() is expensive - https://plumbr.eu/blog/io/how-we-accidentally-doubled-our-jdbc-traffic-with-hibernate