Mongodb 学习笔记(二) :索引

栏目: 数据库 · 发布时间: 5年前

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()


以上所述就是小编给大家介绍的《Mongodb 学习笔记(二) :索引》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms in C (Computer Science Series)

Algorithms in C (Computer Science Series)

Robert Sedgewick / Addison-Wesley Professional / 1990-01-11 / USD 59.99

This new version of the best-selling book, Algorithms, SecondEdition, provides a comprehensive collection of algorithmsimplemented in C. A variety of algorithms are described in eachofthe following ar......一起来看看 《Algorithms in C (Computer Science Series)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码