【发布时间】:2012-04-24 07:24:57
【问题描述】:
我有一个应用程序,它必须将大约 1300 万行大约 10 个平均长度的字符串插入嵌入式 HSQLDB。我一直在调整一些东西(批量大小、单线程/多线程、缓存/非缓存表、MVCC 事务、log_size/无日志、定期调用checkpoint,...),在 16 上仍然需要 7 小时核心,12 GB 机器。
我之所以选择 HSQLDB,是因为我认为如果充分利用所有这些内核,我可能会获得显着的性能提升,但我开始怀疑我的决定。
谁能告诉我灵丹妙药?
【问题讨论】:
-
冒险猜测(不是 HSQLDB 专家)并说主要阻止程序在您的 IO(磁盘)上。
-
是的,我认为这是因为 CPU 百分比并没有完全超出上限。从多个线程进行批量插入有什么好处,还是在这种情况下我应该坚持使用单个线程?
-
可能不会,除非您可以实施基于 SSD 的解决方案。
标签: java performance hsqldb bulkinsert