MongoDB - 索引

作者: yuanzicheng | 来源:发表于2018-05-07 13:50 被阅读16次

    参考文档:https://docs.mongodb.com/manual/indexes/

    1.索引是什么

    索引就是一个数据库的目录,有了索引,查找文档时就不需要扫描整个库了,在索引中找到条目后,直接跳转到目标文档位置,使得查询速度提升几个数量级。

    索引又分为普通索引唯一索引地理空间索引

    2.索引相关命令

    以下命令还是以user集合为例

    • 查询索引
    db.user.getIndexes();
    db.user.reIndex();
    
    • 创建索引
    # 单键索引,按name正序
    db.user.ensureIndex({name:1})
    # 复合索引,按name正序、age倒序
    db.user.ensureIndex({name:1,age:-1})
    # 创建索引,并设置参数
    #   background: 后台模式创建索引,不会阻塞数据库其它操作
    #   unique: 唯一索引
    #   dropDups: 创建索引时消除重复文档,仅保留第一个
    #   sparse: 索引键为空值或索引键不存在是,文档部进入该索引
    db.user.ensureIndex({name:1},{"background":true,"unique":true,"dropDups":true,"sparse":true})
    
    • 删除索引
    # 删除指定索引名称的索引
    db.user.dropIndex("index_name");
    # 删除所有索引(不会删除_id的索引)
    db.user.dropIndexes();
    

    相关文章

      网友评论

        本文标题:MongoDB - 索引

        本文链接:https://www.haomeiwen.com/subject/rycilftx.html