Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 HSQLDB嵌入式数据库,我用它来存储一些测量的统计信息。统计信息预计大约每秒从同一线程到达,但每隔几秒从几个不同的线程(从线程池中)获取。
我对 jdbc 没有太多经验,所以我的问题可能听起来微不足道:
请注意,一些插入是批量插入,我认为在其中使用准备好的语句addBatch和executeBatch方法。
addBatch
executeBatch
您应该尝试重用连接和准备好的语句。
为此,每个线程将有一个单独的连接,并且每个连接将重用一组准备好的语句。在工作单元完成后提交连接,但未关闭。当您的应用程序关闭或完成其工作时,连接将关闭。
您应该使用 executeBatch 进行批量插入。
使用 HSQLDB,每秒创建/处理一个新连接/预处理语句的代价并不高,但如果可以的话,您仍然应该避免这种情况。