这似乎是一个愚蠢的问题,但什么时候应该在我的收藏中创建一个索引?
为了更明确,我想知道我是否只需创建一次,当我创建我的集合时,然后当我添加一些新文档时它会自动更新。或者我必须在后台定期重新生成它?
答案 0 :(得分:1)
当您更新/插入文档时,MongoDB将使索引保持最新。
性能方面,在您需要之前不要创建索引(以加快查询速度)。在进行大量批量插入时,删除索引并在插入完成后重新创建它可能更有效。
答案 1 :(得分:1)
MongoDB将自己维护所有索引,换句话说只维护一次。
但是,这确实意味着您需要注意确保哪些索引,因为每个索引在执行写操作时都会产生大量开销。您拥有的索引越多,MongoDB必须更新才能进行单次写入。