mongodb - 何时在 MongoDB 集合上调用 ensureIndex?

标签 mongodb indexing

我应该什么时候调用 ensureIndex?在插入单条记录之前,在插入单条记录之后,还是在调用 find() 之前?

最佳答案

看来我的评论有点被误解了,所以我会澄清一下。何时调用它并不重要只要它在你第一次调用 find() 之前的某个时间点被调用。 换句话说,当你创建索引,只要它在您期望使用它之前就已经存在。

我经常看到的一种常见模式是在调用 find() 的同时(并且在同一个地方)对 ensureIndex 进行编码。 ensureIndex 将检查索引是否存在,如果不存在则创建它。在调用 find() 之前调用 ensureindex 无疑会有一些开销(尽管非常小),所以最好不要这样做。

我确实在代码中调用 ensureIndex 以简化部署并避免必须分别管理数据库和代码库。易于部署的权衡平衡了后续调用 ensureIndex 的冗余(对我而言)。

关于mongodb - 何时在 MongoDB 集合上调用 ensureIndex?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7000777/

相关文章:

scala - Salat 没有反序列化映射到 Option[Set[A]] 的集合

angularjs - mongo/mongoose 查询查找删除空间的字段

php - SPHINX 仅匹配短语,以及 PHP 中的 SPHINX 自动索引

django - 如何在 Python 模型迁移中生成基于函数的索引?

Mysql:全文和普通索引

mongodb - angular 2 + meteor 中已经有一个名为 "collection"的集合

MongoDB - 唯一的多键索引没有按预期工作

javascript - 等效的 MongoDB 语句?

sql-server - 索引是否已覆盖聚集主键?

python - 二维索引和总和的 numpy 数组