八天学会MongoDB:第四天 索引操作

  • 时间:
  • 浏览:2
  • 来源:大发彩神app—大发彩神8苹果版

  从算法上来说有5种经典的查找,具体的还都都上能 参见我的算法速成系列,这其中就包括一群人今天所说的“索引查找”,肯能一群人对sqlserver比较了解一段话,相信索引查找能给一群人带来你这名样的性能提升吧。

  nscanned: 我擦,数据库只浏览了有另一个多 文档就OK了。

  n: 直接定位返回。

  五: 删除索引

  一:性能分析函数(explain)

  好了,数据肯能插入成功,既然一群人要做分析,肯定要有分析的工具,幸好MongoDB中给一群人提供了有另一个多 关键字叫做“explain",如此为什用呢?还是看图,注意,这里的name字段如此建立任何索引,这里我就查询有另一个多 “name300”的姓名。

  n: 这里是1,也可是最终返回了有另一个多 文档。

  有以前一群人的查询有的是单条件的,肯能是多条件,比如查找出生在‘1989-3-2’名字叫‘jack’的同学,如此一群人还都都上能 建立“姓名”和"生日“的联合索引来加速查询。

  在10w条如此简单的集合中查找有另一个多 文档要114毫秒有你这名点我就如此接收,好,如此一群人该如可优化呢?MongoDB中给一群人带来了索引查找,看看还都都上能 让一群人的查询一飞冲天.....

  此时一群人肯定很好奇,到底查询优化器会使用哪个查询作为操作,呵呵,还是看看效果图:

化器,它给一群人做出的选泽 往往是最优的,肯能一群人做查询时,查询优化器会使用一群人建立的你这名索引来创建查询方案,肯能某有另一个多 先执行完则你这名查询方案被close掉,你这名方案会被MongoDB保存起来,当然肯能如此用本人指定的查询方案,这也是还都都上能 的,在MongoDB中给一群人提供了hint最好的法律法律依据让一群人还都都上能 暴力执行。

  二:建立索引(ensureIndex)

  三:唯一索引

  cursor: 这里出显的是”BasicCursor",你这名意思呢,可是说这里的查找采用的是“表扫描”,也可是顺序查找,很悲催啊。

  db.person.ensureIndex({"name":1},{"unique":true})。

  肯能随着业务需求的变化,原来建立的索引肯能如此处在的必要了,肯能有的人想说没必要就没必要呗,过后请记住,索引会降低CUD这名种操作的性能,肯能这玩意都都上能 实时维护,很多很多很多很多啥问题报告 报告 有的是综合考虑一下,这里就把刚才建立的索引清空掉来演示一下:dropIndexes的使用。

今天分享下MongoDB中关于索引的基本操作,一群人日常做开发都处置不了要对任务管理器运行进行性能优化,而任务管理器运行的操作无非可是CURD,通常一群人又会花费30%的时间在R上面,肯能Read操作对用户来说是非常敏感的,处置不好就会被人唾弃。

  四:组合索引

  通过你这名例子相信一群人对索引有的是了感官方面的认识了吧。

  八天学会MongoDB:第一天 基础入门

  millis: 看看你这名时间真的不敢相信,秒秒杀。

  我的神啊,再来看看你这名敏感信息。

  一群人首先插入10w数据,上图说话:

  这里一群人使用了ensureIndex在name上建立了索引。”1“:表示按照name进行升序,”-1“:表示按照name进行降序。

  cursor: 这里出显的是”BtreeCursor",如此牛X,MongoDB采用B树的型态来存放索引,索引名为上面的“name_1"。

  和sqlserver一样都还都都上能 建立唯一索引,重复的键值自然就如此插入,在MongoDB中的使用最好的法律法律依据是:

  仔细看红色区域,有几个一群人关心的key。

  millis: 你这名可是一群人最最最....关心的东西,总共耗时114毫秒。

本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/796621,如需转载请自行联系原作者

  nscanned: 这里是10w,也可是说数据库浏览了10w个文档,很恐怖吧,原来玩一段话我就受不了啊。

  看得人上图,一群人肯能也知道name跟birthday的不同,建立的索引可是同,升序和降序的顺序不同还会产生不同的索引,如此一群人还都都上能 用getindexes来查看下person集合中到底生成了你这名索引。

        相关文章:

      八天学会MongoDB:第5天 细说高级操作

  看得人上图一群人要相信查询优

  八天学会MongoDB:第5天 细说增删查改