博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb索引
阅读量:6068 次
发布时间:2019-06-20

本文共 804 字,大约阅读时间需要 2 分钟。

mongodb的索引

一,索引分为:单字段索引,复合索引,多key索引,文档索引等等

 

1,单字段索引(Single Filed Index)

  命令:db.person.createIndex( {age: 1} )

  解释:

    person:  指collection  ,可以理解为关系型数据库的表,

    createIndex:创建索引的方法,

    age:  需要加索引的字段,

    1 :表示升序,-1表示降序,这个对于单字段表现的都差不多

    默认的_id  也是单字段索引

 

2,复合索引(Compound Index)

    查询过程:会先按照第一个字段排序,当第一个字段一样的时候,按照第二个字段排序,一次类推

    命令:db.person.createIndex( {age: 1, name: 1} )

    注意:在创建复合索引,根据数据场景和数据的分布情况,选择不同的字段在前面,会出现不同的查询速度,没有真实测试过,

3,多Key索引(Multikey Index)

  当为collection中某个字段创建索引时,这个字段是数组,将会自动创建多key索引,即为这个字段的数组的每个元素创建索引,这个可以的场景:不用喜好的人,不用标签分类的书籍等,使用

多个标签或者关键字的collection,

4, 哈希索引(Hash Index)

  以某个字段的哈希值做索引,字段完全匹配时使用

5.地理位置索引(Geospatial Index)

  在O2O场景中使用

6,文本索引(Text Index)

  在快速查询文本中使用,以一个文本的内容创建索引

 

二,索引的一些额外属性

  1,唯一索引

  2,TTL索引

  3,部分索引

  4,稀疏索引

 

转载于:https://www.cnblogs.com/wds128/p/10955882.html

你可能感兴趣的文章
app启动过程
查看>>
docker的四种网络模式
查看>>
MVC,MVP 和 MVVM 的图示
查看>>
localStorage
查看>>
etherlime-3-Etherlime Library API-Deployed Contract Wrapper
查看>>
docker swarm英文文档学习-8-在集群中部署服务
查看>>
毕业生是怎么一步步给培训班骗去学编程的
查看>>
java泛型中<?>和<T>有什么区别?
查看>>
oracle 12c使用问题总结
查看>>
冒泡排序
查看>>
Linux系统概要
查看>>
玩转树莓派 - 添加定时任务
查看>>
iphone-common-codes-ccteam源代码 CCLanguage.h
查看>>
基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序
查看>>
团队工作第四次推进之——软件设计规格说明书
查看>>
RepositoryBase文件解析
查看>>
cocos2d-x代码阅读笔记 - 入口
查看>>
BPEL_Oracle BPEL新一代工作流介绍(概念)
查看>>
ADF_ADF Faces系列1_使用JSF开发基于Ajax的用户界面:ADF Faces 富客户端组件简介(Part1)...
查看>>
四部曲
查看>>