首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB,哪个更快: find.limit(10)或aggregate({$limit:10})

MongoDB,哪个更快: find.limit(10)或aggregate({$limit:10})
EN

Stack Overflow用户
提问于 2015-09-14 16:11:04
回答 1查看 603关注 0票数 0

我怎么知道find.limit(10)aggregate({$limit:10})哪个更快更有效?我听说很多限制会影响Mongo的性能,这是真的吗,或者自从新的3.0引擎以来这已经改变了。

另外,有没有一种实用的方法来评估mongo上的查询性能?

EN

回答 1

Stack Overflow用户

发布于 2015-09-14 17:31:14

有几种方法可以从查询中获得执行时间和性能。首先,您可以设置db.setProfilingLevel(2),它会将所有数据库活动记录到日志中,记录每个操作所需的时间。您还可以通过在游标上运行explain()来查看数据库实际在做什么,从而从shell获得查询的性能。

db.foo.find({}).limit(10).explain()

您还可以为聚合做解释,但它似乎不会给您提供执行时间,而只是提供它所需的步骤,因此您可能必须这样做

代码语言:javascript
复制
var date = new Date()
db.foo.aggregate([
    {$limit: 10}])
var time = new Date() - date;

如果您感兴趣,请查看汇总说明

db.foo.aggregate([{$limit: 10}], {explain: true})

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

https://stackoverflow.com/questions/32560026

复制
相关文章

相似问题

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