关于是否索引的快速提问。频繁查询集合,在doc的数组中查找特定的“user_id”。见下文 -
_id:"bQddff44SF9SC99xRu",
participants:
[
{
type:"client",
user_id:"mi7x5Yphuiiyevf5",
screen_name:"Bob",
active:false
},
{
type:"agent",
user_id:"rgcy6hXT6hJSr8czX",
screen_name:"Harry",
active:false
}
]
}
为'participant.user_id'添加索引是否是一个好主意?该数组经常被添加,偶尔会删除项目。
更新 我在使用相同的数据集进行本地测试后添加了索引,这肯定会降低mongo进程的高CPU使用率。由于这些文件只有少量更新,我认为这是正确的举措。我现在正在寻找更多可能的索引和优化。
答案 0 :(得分:0)
为什么要索引?查询时是否存在严重的延迟问题?或者您是在尝试提前优化?
最终这里有很多变数让人很难回答。包括但不限于:
索引可能不是答案,而是你如何构建数据。