mongodb performance
壮哉我大芒果
第一次听说mongodb这个词时,第一时间想到的就是芒果。
随着mongodb风靡全球,芒果台的《还珠格格》在美国上映,
这一切都告诉我们:这世上没有什么事情是不可能的。
mongodb的性能有多强悍,我们来做下测试:
for(var i=0;i<1000000;i++){ |
在等待了二十几秒后,我们就创建了一个包含100万条数据的bench集合。
你知道同样的测试我用plsql花了多长时间?大约4分钟。
什么,二十几秒你都等不了,看来你真是个急性子。
首先,我们分析下上面的代码逻辑:
我们是往数据库里插入了100万次,每次插入一条数据,所以比较慢。
转化思路:
数据库的性能瓶颈就在io,我们能否只插入一次,
然后一次就插入了100万条数据呢?
当然是可以的。
for(var i=0,arr=[];i<1000000;i++){ |
大约2秒钟,可以看到速度明显提高了。
由此可见:如果一次性往数据库插入大量数据时可以尝试切换下思路。
插入数据的速度只能看出数据库一方面的能力,
我们还得看取出数据的速度有多快,我们继续测试:
db.bench.findOne({j:999999}) |
为了公平起见,我取出的是最后一条数据,花了将近1秒钟。
我们先创建一个索引,然后在查询:
db.bench.ensureIndex({j:1},{unique:true}) |
瞬间得到结果,证明mongodb数据库所宣扬的大规模数据下的查询能力真不是盖的。
这盖可不是锅盖的盖哦,这盖是盖伦的盖。
什么,你还不知道盖伦为何物?
赶紧去搜下国服第一盖伦吧,
这英雄和mongodb一样,屌炸天有木有。