2009-05-05 76 views

回答

21

我们使用H2作为非常大的基于RCP/Eclipse的设计工具的存储引擎。该工具本身已经在一些数据量大的项目中使用了2年多,所以我们已经非常彻底地强调了H2。

我们对其他Java可嵌入数据库引擎做了相当深入的分析,并选择了H2。总的来说,我认为我们对此非常满意。我们的稳定性问题非常少,但是,正如zvikico所说,开发团队非常敏感。

虽然性能很好,但有时您需要手动进行一些优化。如果您习惯于使用企业级数据库,为您做了大量优化,可能会有所改变。如果遇到缓慢的查询以查看它在做什么,我建议使用EXPLAIN命令。通常,您可以切换JOIN语句以强制更有效地使用索引。

所以,总之,竖起大拇指!

11

我使用它作为nWire的基础,这是Java代码探索一个Eclipse插件。它在嵌入式模式下工作,作为Java过程的一部分,而不是服务器。

总的来说,它非常稳定。我现在和H2一起工作了很长一段时间:在早期我遇到了一些错误,但是现在还没有发生。开发者的反应也很好。

关于性能:这是非常好的。你可以在网站上看到测试。我没有机会将其与其他工具进行比较,但我对此感到非常满意。在最近的版本中,它倾向于花更多时间来打开大型数据库,但这个问题似乎也得到了解决。

其他一些长处:

  • 很简单的分布情况:只有一个JAR。
  • 嵌入式Web控制台对于快速访问数据库非常有用。它被证明是一个有价值的开发工具。
  • 响应社区支持,特别是来自开发团队。
7

我在一些相当繁重的服务器应用程序中使用H2,其中有数百万条记录。 H2的表现是惊人的。与往常一样,您需要考虑通过使用索引。我以前是MySQL的长期用户,并且曾经使用过几个企业级数据库,但H2比传统的重量级更小,更快,更易于使用。它也成为我们在Tynamo.org