mongodb 查询缓慢问题
添加查詢索引
mongo 添加索引一般都是
按需添加
经常用哪些字段查找就添加哪些字段
从mongoDB 3.0开始ensureIndex
被废弃,使用 createIndex
创建索引。
参数 | 类型 | 描述 |
---|---|---|
keys | document | 一个包含该字段的字段和值对的文档,该文档的索引键和该值描述该字段的索引类型。对于某个领域的上升索引,指定一个值为1;对于下降的索引,指定一个值为1。MongoDB支持几种不同的索引类型,包括文本,空间,和哈希索引。查看更多信息的索引类型。 |
options | document | 在创建索引的时的限制条件 |
索引创建
db.novel_chapter.createIndex({"novId":1})
除了让mongodb默认索引的名字外,我们还可以去一个方便记的名字,方法就是为ensureIndex指定name的值,如:
> db.novel_chapter.createIndex({"novId":1},{"name":"IX_novId"})
这样,我们创建的索引的名字就叫IX_novId
了
联合索引
> db.novel_chapter.createIndex({"novId":1,"chapterId":1})
唯一索引
与RDB类似,我们也可以定义唯一索引,方法就是指定unique键位true:
> db.user.createIndex({"novId":1},{"unique":true})
索引查询
- 查询集合索引
> db.getCollection("novel_chapter").getIndexes()
- 查看索引集合大小
> db.getCollection('novel_chapter').totalIndexSize()
删除索引
- 删除集合所有索引
db.getCollection('novel_chapter').dropIndexes()
- 删除集合指定索引
db.getCollection('novel_chapter').dropIndex('索引名')