Java嵌入式数据库的速度对比

Yan的APIKEY一直是用嵌入式的数据库存储的,最初使用的是hsqldb,最近又添加了H2和Derby的支持,基本上囊括了所有开源的Java嵌入式数据库。实现多了自然需要挑选、比较一下。

数据库特性的比较,H2的网站上有很好的Matrix,一目了然

http://www.h2database.com/html/features.html#comparison

关于速度的比较,今天做了一个简单的测试。

分别从derby / H2 / hsqldb中取出10 、100、1000条数据,循环100000次,比较耗时,如下:

三者的速度差距非常明显,hsqldb远快于其他两个。

而在10、100、1000条记录的索引上查询,并取出指定记录呢,同样是100000次,如下:

再索引上查询,速度受记录数量的影响非常微弱了。但是hsqldb还是远快于其他二者,有趣的是derby的速度要略微快于H2.

根据这样的结果,在Yan的应用中,hsqldb还是最理想的实现。

This entry was written by Sunng , posted on Thursday December 24 2009at 04:12 pm , filed under 手艺 and tagged , . Bookmark the permalink . Post a comment below or leave a trackback: Trackback URL.

9 Responses to “Java嵌入式数据库的速度对比”

  • alex says:

    性能测试的图表有什么工具可以生成?

  • Jetty says:

    哇,我还一直盲目的以为H2会比Hsql快……

    • Sunng says:

      @Jetty, 话说,你一般在什么场合用embedded db

      • Jetty says:

        @Sunng,
        这还是比较有用的,比如要跑个东西,得连好几个数据库,在一开始把所有要用的数据集中在embedded db上会简化程序的设计,而且还在很大程度上提高了性能,也能避免在程序运行过程中长时间的占用那些个数据库。

        我主要是喜欢它的灵活性,db自己建,想怎么搞就怎么搞,而且维护起来也不麻烦,其实很多情况下,根本不需要用到db2这类的大数据库。。。不过用embeded db,一般数据是不安全的就是了

        还有就是写test case的时候用,蛮方便的,当然不一定都能测到所需的功能

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word