mongodb索引

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,稀疏索引

 

posted @ 2019-05-31 16:43  望少  阅读(154)  评论(0编辑  收藏  举报