MongoDB索引与查询优化实战指南
1. 索引实践概述
在MongoDB中,哈希索引能改变索引条目的局部性,这在分片集合中非常有用。此外,地理空间索引也是一种强大的工具,它可以根据文档中存储的经纬度值,查找与给定位置“接近”的文档。例如,在存储餐厅信息的集合中,用户可能希望找到离家近的餐厅,地理空间索引就能高效处理这类查询。
1.1 索引管理
1.1.1 创建和删除索引
在MongoDB v3.0中,创建索引使用 createIndex() 方法,之前的 ensureIndex() 已被弃用。创建索引时,可以使用辅助方法,也可以手动插入索引规范。手动插入时,需要指定 ns (命名空间)、 key (要索引的字段或字段组合)和 name (索引名称)。
以下是创建稀疏索引的示例:
use green
spec = {ns: "green.users", key: {'addresses.zip': 1}, name: 'zip'}
db.system.indexes.insert(spec, true)
查询 system.indexes 集合验证索引是否创建成功:
db.system.indexes.find().pretty()
超级会员免费看
订阅专栏 解锁全文
570

被折叠的 条评论
为什么被折叠?



