当前位置: 移动技术网 > IT编程>数据库>MongoDB > Mongodb 学习笔记(二) :索引

Mongodb 学习笔记(二) :索引

2019年06月21日  | 移动技术网IT编程  | 我要评论

丰都新闻网,suffer是什么意思,菲律宾台湾

  mongodb 是基于集合建立索引 (index),索引的作用类似于传统关系型数据库,目的是为了提高查询速度 。 如果没有建立索引, mongodb  在读取数据时必须扫描集合中的 所有文档记录。 这种全集合扫描效率是非常低的,尤其在处理大数据时,查询可能需要花费几十秒到几分钟的时间,这对基于互联网应用的网站来说是无法容忍的。 当集合建立索引后,查询将扫描索引内容,而不会去扫描对应的集合。 但在建立索引的同时,是需要增加额外存储开销的;在已经建立索引的情况下,若新 插入了集合文档记录,则会引起索引重排序,这个过程会影响查询速度。 mongodb 的索 引基于 b-tree 数据结构及对应算法形成。 默认情况下,在建立集合的同时, mongodb 数据库自动为集合_id 建立唯一索引,可 以避免重复插入同一 _id 值的文档记录。

  创建单一字段索引:  

     db.student.createindex({age:1})     age为字段名  1 为升序  -1为降序。

  创建字段值唯一索引:

      db.student.createindex({name:"text"},{unique:true})   单字段值的唯一索引,text为文本索引

    db.student.createindex({name:"text",age:1},{unique:true})  多字段值的唯一索引 

  创建哈希索引:

    db.student.createindex({_id:"hashed"})

  查询集合上的索引:

     db.student.getindexes()

  删除集合的所有索引:  

    db.student.dropindexes()

  删除集合的指定索引:

    db.student.dropindex(index)

  重建集合的所有索引:

    db.student.reindex()

  查询集合的索引大小:

    db.student.totalindexsize()

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网