数据库和XML数据读取性能比较

数据库和XML数据读取性能比较。

硬件:CPU P4赛扬2.2G,内存512M

操作系统:Windows XP SP2

数据库:Access2002

软件环境:JDK1.4,Eclipse3.01

 

数据库采用JDBC-ODBC桥的方式连接,XML的访问采用SAX方式。性能参数如下:

记录数           XML读取时间(毫秒)       数据库读取时间(毫秒)

100               156                               94
1000             500                               93
3000             828                               94
5000             1000                             109
10000           1485                             94
100000         9172                             125
 

很明显,数据库的性能大大超过XML,XML的数据量在超过10000条记录时访问时间超过了1秒,性能难以承受。而数据库对数据量的增加不太敏感。

几点说明:

1.       Access数据库对于大数据量的数据是不够的,要测试海量数据最好使用SqlServer之类的专业数据库;

2.       JDBC-ODBC桥的方式是数据库访问方式中效率最低的,也就是说采用其他方式还可以进一步提高数据库的性能。

3.       XML的访问我不是直接写SAX代码得到的,而是通过EMF(Eclipse Model Framework)自动生成的代码得到的,这样函数调用的层数增多了,对性能有一些影响,不过影响不会太大,对于IO来说,函数跳转的时间可以忽略不计。

4.       XML应该适合小量的数据存储,最好少于10000条记录,这样访问时间可以保持在2秒以下,勉强可以接受。

5、    层次型的数据只能用XML了;关系性数据库,数据量的大小和对数据库操作的复杂性。数据量大,并对数据有复杂的查询、修改等操作,建议用数据库。另外,数据库的安全性也要好。

希望这组数据可以对使用XML作为数据源的人提供一点启示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值