对嵌入式HSQLDB数据库的多线程访问

时间:2013-02-25 18:33:42

标签: jdbc hsqldb

我有一个HSQLDB 嵌入式数据库,我用它来存储一些测量的统计数据。预计统计数据每隔一秒从同一个线程到达,但每隔几秒从几个不同的线程(从线程池中)获取。

我对jdbc没有太多经验,所以我的问题可能听起来微不足道:

  1. 每秒创建/部署新连接的价格是多少?回想一下,数据库是嵌入式的,因此不涉及TCP / IP。
  2. 每秒创建/处理准备好的报表的价格是多少?
  3. 请注意,有些插入是批量插入,我认为这些插入使用预准备语句的addBatchexecuteBatch方法。

1 个答案:

答案 0 :(得分:0)

您应该尝试重用连接和准备好的语句。

为此,每个线程将具有单个连接,并且每个连接将重用一组预准备语句。连接在工作单元完成后提交,但未关闭。当您的应用关闭或完成其工作时,该连接将关闭。

您应该使用executeBatch进行批量插入。

使用HSQLDB,每秒创建/处理新连接/预备语句的代价并不高,但如果可以的话,你仍然应该避免这种情况。