Mongodb索引的优化?

查看:161
本文介绍了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
    
    

谢谢

解决方案

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

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!

这篇关于Mongodb索引的优化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆