zoukankan      html  css  js  c++  java
  • mongodb(Index)

    备忘mongoDb 索引的一些知识点。

    1、索引是用以加速数据库查询的手段,在mongo中主要是采用B树的方式;

    2、每个集合最多可增加64个索引,不建议增加过多索引,原因在于一是索引本身占用空间,二由于要维护一个B树的映射,增加索引后,数据库的增删改除了修改数据外,还要修改索引的数据结构,会影响效率;

    3、mongo中采用db.user.ensureIndex({"name":1})的方式增加基本索引,1或者-1代表方向,即mongo内部采用什么样的顺序组织数据;

    4、唯一索引,db.user.ensureIndex({"name":1},{"unique":true}),表示该索引字段唯一,默认的_id就是;此例中不允许同名;

    5、复合唯一索引,db.user.ensureIndex({"name":1,"age":-1},{"unique":true})。此例中不允许同名且同年龄;

    备注:当建立复合索引时,如果查询只用到其中一个字段,索引是不起作用的。

    6、索引建立在每个数据库的system.indexes集合中,默认有_id索引;

    7、索引可以修改,也可以删除,删除命令:db.runcommand({"dropIndexes":"user"},{"indexes":"*"}),删除集合user中全部索引;

    备注:_id索引是无法删除的;

    8、可以采用explain命令来查询SQL语句的效率,如db.user.find().explain();该命令会返回:

    其中millis代表运行时间、cursor代表所使用的索引; 如果什么索引都没用,则显示BasicCursor

  • 相关阅读:
    龙芯地址空间详解
    JS匿名函数 Amy
    JS正则表达式 Amy
    JS对象 Amy
    Java 位图法排序
    Java Final
    JAVA 数组
    Java shuffle 算法
    jQuery object and DOM element
    Javascript 声明时用“var”跟不用"var"的区别
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/4535320.html
Copyright © 2011-2022 走看看