索引
索引就是用来加速查询的。数据库索引与数据的索引类似;有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找,使得查找速度能提高几个数量级。在索引中找到条目以后,就可以直接跳转到目标文档的位置。
我们先插入10w条数据便于查询
我们可以看到现在的执行时间时22毫秒,查询了10w条数据
创建普通索引
- 使用命令db.collection.ensureIndex({key:1})
- 查看关于索引的相关信息,使用命令db.collection.stats()
当使用索引后时间少到统计不了,并且只扫描了一行
- 查看查询使用索引的情况,使用命令db.collection.find({key:value}).explain(“executionStats”)
- 删除索引,使用命令db.collection.dropIndex({key:1})
- 删除几何,也会将集合中的索引全部删除
创建唯一索引
- 使用命令db.collection.ensureIndex({key:1}, {unique:true})
- 查看关于索引的相关信息,使用命令db.collection.stats()
- 查看查询使用索引的情况,使用命令db.collection.find({key:value}).explain()
- 删除索引使用命令db.collection.dropIndex({key:1})
- 删除集合,也会将集合中的索引全部删除