有关SQLite数据库的一些实证数据,有一定历史比较和参考意义

       转:http://blog.csdn.net/mynicedream/article/details/2252398

       说明:以下这文章是2008年写的。也就是说,数据库的版本也基本是2008年左右的,现在已经过去N年了,数据库都发生了很多变化,性能也有很大提升。我用JULIA脚本insert220万条数据进入SQLite现在大约需要30秒,应有很大提升。大家可以比较。

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      转文:

       最近要做一个项目,需要用到实时数据库,PI太贵了,想找一个免费的,实在不行就只能自己编了。找了半天,找到了FastDB、BerkeleyDB和SQLite.

        FastDB是内存型数据库,据说很快,但数据库大小不能大于物理内存,不然。。。反正我看到这就走了,我可是要一秒内处理几千个数据,还要保存8小时以上的啊!BerkeleyDB和SQLite倒没有数据库大小不能大于物理内存的限制,我对他们的性能进行了测试,结果如下:

 

 
Berkeley DB
Sqlite
插入10000条记录耗时
0.08
0.42
插入100000条记录耗时
2.31
3.81
插入7200000条记录耗时
1024.34
249
插入57600000条记录耗时
12860.78
2155.14
插入172800000条记录耗时
48039.64
6352.06
10000条记录查1记录耗时
少于0.01
少于0.01
100000条记录查1记录耗时
少于0.01
少于0.01
7200000条记录查1记录耗时
少于0.01
少于0.01
57600000条记录查1记录耗时
0.03
0.16
172800000条记录查1记录耗时
0.03
0.09
10000条记录数据库大小
0.628M
0.527M
100000条记录数据库大小
5.29M
5.32M
7200000条记录数据库大小
516M
405M
57600000条记录数据库大小
3087.13M
3925.8M
172800000条记录数据库大小
11890.7M
10621.2M
*机器配置:Core2 E4500CPU2G内存 

       上表为两种数据库只建一个索引,Berkeley DB不支持事务、Sqlite支持事务情况下的数据,如果Berkeley DB打开事务支持,速度会下降很大的数量级,根本不能满足需求。另外在程序崩溃后Berkeley DB数据库不可用,Sqlite数据库仍可正常使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值