一、索引创建
语法简介:
db.COLLECTION_NAME.createIndex(keys[,options])
keys:要建立索引的参数列表。
如:{KEY:1},其中key表示字段名,1表示升序排序,也可使用使用数字-1降序。
options:可选参数,表示建立索引的设置。可选值如下:
background,Boolean,在后台建立索引,以便建立索引时不阻止其他数据库活动。默认值为false。
unique,Boolean,创建唯一索引。默认值 false。
name,String,指定索引的名称。如果未指定,MongoDB会生成一个索引字段的名称和排序顺序串联。
partialFilterExpression, document.如果指定,MongoDB只会给满足过滤表达式的记录建立索引.
sparse,Boolean,对文档中不存在的字段数据不启用索引。默认值是 false。
expireAfterSeconds,integer,指定索引的过期时间
storageEngine,document,允许用户配置索引的存储引擎
语法示例:
db.collectionname.createIndex({"column1":1,"column2":1,...})
db.user.createIndex({"username":1})
db.user.createIndex({"sex":1,"nickname":1})
二、索引查询
db.collection.getIndexes()
三、索引重建
db.collection.reIndex({"column1":1,"column2":1,...})
四、删除索引
(4-1)删除某个索引
db.collectionname.dropIndex("indexname")
(4-2)删除某个表的所有索引, _id对应的索引不能被删除
db.collectionname.dropIndexes()
五、分析查询语句的执行效率
db.collectionname.find({"column1":"XX"}).explain("executionStats")