【发布时间】:2018-03-13 00:32:52
【问题描述】:
我刚刚发现了 mongodb 索引的非凡力量。在几个字段上构建索引使我能够将一些操作加速 1000 倍,甚至更多。对于一个看似愚蠢的问题,我深表歉意:一旦我在数据库中的特定字段上建立了索引,每次我添加和删除文档时它会自动重建吗?还是我必须明确调用它? (在开发阶段,我可能会删除每个文档,然后重新添加它们)
【问题讨论】:
我刚刚发现了 mongodb 索引的非凡力量。在几个字段上构建索引使我能够将一些操作加速 1000 倍,甚至更多。对于一个看似愚蠢的问题,我深表歉意:一旦我在数据库中的特定字段上建立了索引,每次我添加和删除文档时它会自动重建吗?还是我必须明确调用它? (在开发阶段,我可能会删除每个文档,然后重新添加它们)
【问题讨论】:
MongoDB 自动为您更新索引,反映集合中文档的当前状态。您不必担心索引更新!
关于索引的一点警告。引用文档:
虽然索引可以提高查询性能,但索引也存在 一些操作上的考虑。请参阅Operational Considerations for Indexes 了解更多信息。
例如,如果您需要对索引进行批量插入,并且不想减慢该过程,有时删除索引,然后插入大量文档并最终重建索引可能会很有用从头开始(如有必要,也可以在后台)。上面链接中的更多信息和其他注意事项。
【讨论】:
索引一旦创建,就会由 Mongo 自动维护。无需手动重建。
【讨论】: