搜索

首页  >  问答  >  正文

Mongodb索引的优化?

不清楚索引村不存在优化的情况。对于索引理解没有深入。顺便帮忙讲解一下吧!

1,每条数据都有地理信息。(省,市),那么我建立了索引:

db.v.createIndex({city:1}
db.v.createIndex({area:1}

我的疑惑是,这个建立的时候是没有条数据建立一个索引值还是通过索引的值来建立?

    比如存在这样的数据
    id name         city         area 
    1  zhangsan     beijing      beijing
    2  lisi         shanghai     shanghai
    3  zhaowu       beijing      beijing

   #每条数据建立 
    city->beijing->1
    city->shanghai -> 2
    city->beijing->3
    
    #还是根据索引值
    city->beijing--|-> 1
                   |-> 3
    city->shanghai->2
    
    

谢谢

伊谢尔伦伊谢尔伦2795 天前721

全部回复(2)我来回复

  • 为情所困

    为情所困2017-05-17 10:03:49

    没有完全理解你的问题,大概理解是:

    1、MongoDB的索引大部分都是 B Tree索引;除此之外,

    1)hash index,主要用于hashed sharding
    2)Geospatial index,例如2d、2dsphere,在MongoDB里面本质上B Tree实现的
    3)Text index
    

    2、B Tree是按照索引值排序保存的,并指向相应的Collection的存储的位置。

    3、延伸一点,当前MongoDB的底层的WiredTiger使用了一种Log-Merged Structure Tree来优化写的性能。

    关于MongoDB的索引都可以多了解上面的内容。供参考。

    Love MongoDB! Have fun!

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:03:49

    不太懂您的问题,不过我这里有一些关于使用MongoDB建立索引时的几点建议,你可以参考:
    http://forum.foxera.com/mongo...

    回复
    0
  • 取消回复