常用内存数据库介绍(六) - titan - JavaEye技术网站

来源:百度文库 编辑:神马文学网 时间:2024/04/20 01:36:19
6.1.2   测试过程
使用C++编写了测试工程,启动测试程序后,先分别插入50000条和1000000条数据,然后执行一系列的测试
6.1.3   测试结果
用例名
5w(条)单个线程
100w(条)单个线程
100w(条)10个并发线程
初始插入时间
2s
45s
初始插入时间(不加索引)
1.782s
38.109s
插入1条记录
100纳秒以内
100纳秒以内
0.0016s
插入1000条记录
0.047s
0.047s
0.453s
插入1000条记录(无索引)
0.6s
1s
11.39s
查询一条记录
100纳秒以内
100纳秒以内
0.0033s
查询一条记录(不使用索引)
0.016s
0.375s
2.859s
查询1000条记录
0.016s
0.391s
2.828s
查询1000条记录(不使用索引)
0.015s
0.375s
2.906s
查询全部记录分组统计Group by
0.688s
15.473s
查询1000 条(结果排序 )
0.031s
0.39s
2.453s
查询所有记录(结果排序)
0.766s
16.203s
33.594s
更新一条记录
100纳秒以内
100纳秒以内
0.0043s
更新一条记录(不使用索引)
0.016s
0.359s
2.719s
更新10000条数据
0.062s
0.047s
更新10000条数据(无索引)
0.016s
0.375s
2.719s
删除一条数据
100纳秒以内
100纳秒以内
0.0041s
删除一条条数据(无索引)
0.125s
5.047s
删除10000条数据
0.078s
0.078s
删除10000条数据(无索引)
79-125ms
5.031s
结论:
1.       SQLlite内存数据库的处理速度很快;
2.       SQLlite内存数据库在查找数据时有索引的情况下,查询、更新、删除速度快;
3.       SQLlite内存数据库并发性比较差,可以认为并发能力为0;
4.       SQLlite内存数据库占用内存空间,100w条数据在40M左右(创建单个索引,6个字段)
5.       针对数据流探针来说,5w条数据SQLlite归并的速度在0.688s,可以尝试将部分功能用数据库归并实现。
6.       SQLLite支持自定义函数,效率没有测试,应该和他提供的API效率差不多
7.       SQLLite支持复合sql语句