环境:具有mongodb 1.4、mysql的同一台机器; 存储器4g; 这两个数据库都只有id的唯一搜索,数据量为120w左右,5w个查询。 对它们进行id或ids查询。
蒙哥数据库
mysql
总时间
avg time/per query
总时间
avg time/per query
1 id/per query
11954ms、00:11、954
0ms,00,0
78613ms,00:1336018,613
1毫秒,00,1
10 id/per query
35885毫秒、00:35和885
0ms,00,0
107274ms毫秒、00:1:47和274
2毫秒,00,2
20 id/per query
63714ms,00:133603,714
1毫秒,00,1
186398ms毫秒、00:6和398
3毫秒,00,3
5 thread,20 id/per query
_
5毫秒,00,5
_
11毫秒,00,11
10 thread,20 id/per query
_
10ms,00,10
_
22毫秒,00,22
从上表看:
每次查询id时,mongodb在基本相同的条件下的速度是mysql的7倍。
每次检查多个id(10/20 )的查询时,mongodb都会比mysql快两倍。
在多线程中检查多个id时,mongodb比mysql快一倍。
从上面的测试来看,主要用于id查询和ids查询APP应用程序的mongodb优于mysql。
插入这些数据时,mongodb比mysql快。 83159ms,- 0033601336023,159足以在mongodb中插入120w。 mysql有几十分钟。
我在实用(千瓦级的数据量)中使用mongodb的速度没有mysql好。 可能有原因。 mysql的机器很好,mongodb的使用方法不够。 继续调整和优化程序吧……
带mongodb的in查询:
basicdbobjectq=newbasicdbobject (;
basicdbobjectin=newbasicdbobject (;
voidcreateq(integer[]ids ) {
q.put(id ),in );
in.put('$in ',ids );
}