首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb ()与findAndModify()性能比较

Mongodb ()与findAndModify()性能比较
EN

Stack Overflow用户
提问于 2015-07-07 16:41:08
回答 1查看 2.4K关注 0票数 3

对于不断增长的文档,我可以选择使用update()findAndModify()在数组字段中插入新元素。但是,findAndModify()将在我的特定应用程序中生成更清晰的代码。但我可以使用update()实现同样的功能,只是更麻烦。

我只是想知道使用update()而不是findAndModify()会带来多大的性能收益。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-08 17:26:13

我用芒果壳做了个快速测试。关于本文件:

代码语言:javascript
复制
{
   "c" : 50,
   "growingArray" : [ 0 ]
}

我做了两次测试:

代码语言:javascript
复制
for (i = 1; i < 10000; i++)
{
    db.testids.update( { "c" : 50 }, { $addToSet : { "growingArray" : i } } );
}

在我的中档笔记本电脑上总共使用了40.926 s

findAndModify()版本:

代码语言:javascript
复制
for (i = 1; i < 10000; i++)
{
    db.testids.findAndModify({ query: { "c" : 50 }, update : { $addToSet : { "growingArray" : i } } } );
}

42.445秒。我平均每人五次。

从里面拿走你想要的。下意识的结论是,在我的特定环境中,findAndModify()的开销约为3%至4%,没有其他任何事情发生。但是,请记住,findAndModify()获得写锁,这样对应用程序整体性能的影响就会大得多。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31274569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档