我对表现感到担忧,
当我执行db.xx.update({a:1}, {c:2})
时,mongodb是否会花费额外的时间来更新{a:1, b:1}
上的索引?
有没有办法分析更新操作?
答案 0 :(得分:2)
如果在更新期间更改a或b的值,则将更新索引。如果您不更改任何一个值,则只有在更新过程中必须将文档重新定位到磁盘上时才会更新索引。
确定方式的方法是对更新进行分析 - 如果时间超过100毫秒,则会在mongod
日志中登录,但您可以使用较低的阈值启动mongod
(使用{{1}您可以使用级别2为相关数据库启用性能分析,然后所有操作都将记录到--slowms
集合中。
在此处详细了解:http://docs.mongodb.org/manual/reference/command/profile/