当前位置:  开发笔记 > 编程语言 > 正文

MongoDB后台索引大小

如何解决《MongoDB后台索引大小》经验,为你挑选了1个好方法。

我创建了一个索引({a:1,b:-1}),一次是前景,另一次是在背景上.检查总索引大小.前景:82536720背景:154927024

谁能告诉我为什么会有巨大的差异?

Mongo > db.testing.ensureIndex({a:1,b:-1})
Mongo > db.testing.stats()
{
    "ns" : "test.testing",
    "count" : 2402158,
    "size" : 86479836,
    "avgObjSize" : 36.00089419596879,
    "totalIndexSize" : 160486704,
    "indexSizes" : {
        "_id_" : 77949984,
        "a_1_b_-1" : 82536720
    },
}
Mongo > db.testing.dropIndexes()
Mongo > db.testing.ensureIndex({a:1,b:-1},{background : true})
Mongo > db.testing.stats()
{
    "count" : 2402158,
    "size" : 86479836,
    "avgObjSize" : 36.00089419596879,
    "totalIndexSize" : 232877008,
    "indexSizes" : {
        "_id_" : 77949984,
        "a_1_b_-1" : 154927024
    },
}

Ray Toal.. 5

在MongoDB的文件说,

后台索引构造允许在构建索引时继续读写操作; 但是,这些索引构建需要更长的时间才能完成,从而导致索引更大.

所以,毫不奇怪.基本上,mongo使用不同的机制来构建背景索引,而不是前景索引,这会导致最终索引更大.



1> Ray Toal..:

在MongoDB的文件说,

后台索引构造允许在构建索引时继续读写操作; 但是,这些索引构建需要更长的时间才能完成,从而导致索引更大.

所以,毫不奇怪.基本上,mongo使用不同的机制来构建背景索引,而不是前景索引,这会导致最终索引更大.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有