现在的位置: 首页 > 综合 > 正文

我的主流数据库比较

2013年05月11日 ⁄ 综合 ⁄ 共 1697字 ⁄ 字号 评论关闭
                      作者:陈原
最近在写一个java 的orm 应为要实现跨数据库,所有在计算机上安装了很多数据库,
一一调试因为是同时使用就感觉每个数据库都有很大的差别.小结一下.

数据库有:DB2,Interbase,MsSql,MySQL,Oracle,PostgreSQL,SmallSQL.

mysql ,平常我使用得最多.从查询速度上来说是非常快的,在加上提供分页查询,是做新闻信息的网站的首选.
但是我碰到个几次数据坏掉,(不过还好mysql提供了修复工具,运气不是太差一般都能修复)感觉稳定性还需要提高.也难怪,mysql一直出的都是测试版.在mysql5.x后添加了太多的功能,感觉更象PostgreSQL了,失去mysql的特色.而且mysql5.x后是三个数据库引擎,太肥大了点.

Firebird,Interbase 是bland 的数据库,性能各方面都不错,但很遗憾的是jdbc部分写得比较差,还好包含dll库.对于java使用比较麻烦.

Oracle的速度可以说是最慢的,当然功能也是最多的了.特点就是在5万条数据中查询慢,在10万条中查询还是一样的慢.只有在一定的数量级上才能够体现优势.数据没有几十万以上实在没必要使用.

db2是IBM的数据库,看了一下国内好像用的人不多,不过我使用后感觉不错,速度功能都很强.管理也比较方便.唯一感觉不爽的是分页查询上不能一句搞定,要写复合查询.

PostgreSQL 和DB2的性能相当,虽然过去看了n次这个名字也没有使用一下,不个这次使用了感觉非常的好.我使用的是8.3版本. 特点是体积小才16M,就能和db2,oracle这样的几百M的数据库比美.
以前担心不能够autovacuum,现在这个问题了已经不存在了,可以系统定时完成了.包括很多的商业功能.还有分页查询,在下载pgadminIII配合使用不弱任何数据库.
缺点是对于那些安装指会下一步,下一步的人有点麻烦.虽然才几个命令.

samllSQL,这个是一个非常简单的java开源数据库,类似accsess.因为简单所以快速的.比较适合类似asp+accsess的结构使用.比hsql这些内嵌数据库要强很多.
最记得清的一次是我想将一个IP地址表保存到数据库中,大概有30万条数据,其他的数据库插入了很长的时间还没有插入完成.改用samllSQL才2分钟不到就插入完成了.
当然最快也意味着不稳定.使用的时候要注意备份.

总结.oracle这样的数据库对于普通应用和网站并不适合.比较适合在商业逻辑复杂的系统中.
DB2 在大型和中型企业中应用比较适合.完整的功能,稳定的性能,还能够得到IBM的技术支持.
mysql 是信息类网站的首选.特别是对于查询速度要求高,插入少的处理.
PostgreSQL,伸缩性好.能轻能重.来高接高,来低接低,过去不能做到7x24服务,现在已经快接近完美了.而且免费开源.
SmallSQL比较适合java演示程序和简单的数据存储.
Interbase和Firebird不适合java使用,作为桌面数据库使用还不错,但这一块已经被accsess和mssql分去了天下.如果要考虑盗版问题Firebird是个不错的选择.
mssql是window上使用得比较多的数据库.适合win32平台中型企使用.ms一直在努力想做到oracle的地步,不过很难.因为这里的数据库就只有mssql不跨平台.体积也大了点,查询也要使用复合查询来分页.
但ms的销售做得不错.用的人还是比较多.

其他还有sybase,informix 等数据库,因为安装问题和下载不到或感觉不够主流就不评价了.

个人推荐PostgreSQL数据库,如果你还没有用过不妨安装个玩玩.

简单的测试
插入10100 条记录,分别使用分页查询不支持的使用复合查询得到其中10条花费的时间,单位为毫秒.分别查询多次起最好的一次结果.
_________________________________________
oracle10G   578
psql8.25    236
db2 9.5     236
mysql4.26   219

抱歉!评论已关闭.