周大胖子 发表于 2018-4-26 11:06:46

七: 索引


        创建索引:        db.user.ensureIndex({"name":1})
        获取当前集合是索引:        db.user.getIndexes()
        删除索引:                db.user.dropIndex({"name":1})
       
        排序: 数字1 表示 name 键的索引按升序村塾,-1表示 age键的索引 按照降序方式存储
                db.user.ensureIndex({"name":1,"age":-1})
        复合索引 【上面这种也算:基于name 的查询将会用到该索引,或者是基于name的查询也会用到该索引,但是只是基于age的查询将
        不会用到该复合索引。因此可以说,如果想用到复合索引,必须在查询条件中包含复活索引中的前N个索引列。】

        创建索引时为其指定索引名:        db.user.ensureIndex({"username":1},{"name":"userindex"})
       
        唯一索引:db.user.ensureIndex({"userid":1},{"unique":true})
        如果再次插入userid 重复文档时 , MongoDb将报错 ,以提示插入重复键

        删除唯一索引:        db.user.dropIndex({"userid":1})
       
使用explain 查询细节
        例如: db.user.find({"name":"zhangsan"}).explain();
       
        explain executionStats 查询具体的执行时间: db.tablename.find().explain("executionStats")

页: [1]
查看完整版本: 七: 索引