老莫的笔记本  
  
查看: 1298|回复: 0

七: 索引

[复制链接]

664

主题

880

帖子

5155

积分

超级版主

Rank: 8Rank: 8

积分
5155
发表于 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")

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表