转:http://blog.csdn.net/mynicedream/article/details/2252398
说明:以下这文章是2008年写的。也就是说,数据库的版本也基本是2008年左右的,现在已经过去N年了,数据库都发生了很多变化,性能也有很大提升。我用JUliA脚本insert220万条数据进入sqlite现在大约需要30秒,应有很大提升。大家可以比较。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
转文:
最近要做一个项目,需要用到实时数据库,PI太贵了,想找一个免费的,实在不行就只能自己编了。找了半天,找到了FastDB、BerkeleyDB和sqlite.
FastDB是内存型数据库,据说很快,但数据库大小不能大于物理内存,不然。。。反正我看到这就走了,我可是要一秒内处理几千个数据,还要保存8小时以上的啊!BerkeleyDB和sqlite倒没有数据库大小不能大于物理内存的限制,我对他们的性能进行了测试,结果如下:
BerkeleyDB | 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 |
上表为两种数据库只建一个索引,Berkeley DB不支持事务、sqlite支持事务情况下的数据,如果Berkeley DB打开事务支持,速度会下降很大的数量级,根本不能满足需求。另外在程序崩溃后Berkeley DB数据库不可用,sqlite数据库仍可正常使用。
总结以上是内存溢出为你收集整理的有关SQLite数据库的一些实证数据,有一定历史比较和参考意义全部内容,希望文章能够帮你解决有关SQLite数据库的一些实证数据,有一定历史比较和参考意义所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)