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

前端之家收集整理的这篇文章主要介绍了有关SQLite数据库的一些实证数据,有一定历史比较和参考意义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

转文:

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

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

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

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

猜你在找的Sqlite相关文章