0

我关心的是性能,

说当我这样做时db.xx.update({a:1}, {c:2}),mongodb会花额外的时间来更新索引{a:1, b:1}吗?

有没有办法分析更新操作?

4

1 回答 1

2

如果您在更新期间更改 a 或 b 的值,则索引将被更新。如果您不更改其中任何一个值,则只有在更新过程中必须将文档重新定位到磁盘上时,才会更新索引。

确定的方法是分析您的更新 -mongod如果它们花费的时间超过 100 毫秒,它们会记录在日志中,但您可以从mongod较低的阈值开始(使用--slowms开关),或者您可以打开有问题的数据库的分析,级别 2 和然后所有操作都将记录到system.profile集合中。

在此处阅读更多信息:http: //docs.mongodb.org/manual/reference/command/profile/

于 2013-07-09T02:30:22.403 回答