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还是最理想的实现。

9 thoughts on “Java嵌入式数据库的速度对比

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

*

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