在AUTO-SERVER模式下,基于文件的H2数据库遇到了一些有问题的性能问题。我使用H2版本1.3.174。该数据库包含一个包含5列的表。其中一列是CLOB,(平均而言)每行包含1 KB的文本数据。在单线程测试运行中,我插入了800,000行,这需要409秒 - 对我来说还可以。我已按照以下步骤执行了第二次测试:
这将在删除790,000行数据库之前完成。在我的真实场景中,步骤1和2之间会涉及一些处理。第二次测试运行需要8.5小时,在空载的快速机器上!我观察到在删除过程中,H2创建了名为" mydb.1978734278.38.temp.db"的临时文件,其大小在24到1,300 MB之间快速变化。
这是预期的行为吗?我有什么想法可能做错了吗?谢谢你的帮助!
答案 0 :(得分:0)
我正在用我的发现回答我自己的问题: