我需要知道abt在mongo中的索引如何提高查询性能。并且当前我的数据库没有索引。如何索引现有数据库?我是否还需要创建一个仅用于索引的新字段?
从根本上说,MongoDB中的索引类似于其他数据库系统中的索引。MongoDB支持MongoDB集合中文档中包含的任何字段或子字段上的索引。
索引在这里详细介绍,我强烈建议您阅读本文档。
其中包括有关索引操作,策略和创建选项的部分,以及有关各种索引(如复合索引(即,多个字段的索引))的详细说明。
要注意的一件事是,默认情况下,创建索引是一项阻止操作。创建索引非常简单:
db.collection.ensureIndex( { zip: 1})
将返回类似这样的内容,指示已正确插入索引:
Inserted 1 record(s) in 7ms
基于大量数据建立索引,该操作可能需要很长时间才能完成。要解决此问题,可以使用background选项在索引构建过程中继续使用mongod实例。
这里介绍了MongoDB中的索引限制。