为Web应用程序在MongoDB集合上创建索引的推荐方式/位置

6 mongodb pymongo

我正在使用MongoDB作为我们的Web应用程序.假设MongoDB上有一个'find()'用于传入请求.在MongoDB集合上添加索引的推荐方法/位置是什么?

我能想到几个选项: -

1)初始化应用程序时集合上的'ensureIndex'.[但是,在第一次申请初始化时,我将如何'确保索引'?因为没有任何数据]

2'ensureIndex'在每次'find'操作之前(在web请求上)?但即使'ensureIndex'创建索引(如果已经创建),这不是一个开销吗?

还有其他选择吗?

提前致谢.

Ric*_*and 5

我会在初始化应用程序时放置它。如果调用ensureIndex时集合不存在,则此时将创建索引(和集合)。

我假设您先验地知道将对数据运行哪种类型的查询,当然也知道将把哪种数据放入索引中。

  • +1 另外值得一提的是,即使集合为空,“db.coll.ensureIndex({foo:1})”也可以在字段“foo”上创建索引。 (5认同)