1
index_dict = {
        "column_7" : 1,
        "column_6" : 1,
        "column_5" : 1,
        "column_4" : 1,
        "column_3" : 1,
        "column_2" : 1,
        "column_1" : 1,
        "column_9" : 1,
        "column_8" : 1,
        "column_11" : 1,
        "column_10" : 1
}

db.dataCustom.ensureIndex(index_dict, {unique: true, dropDups: true})

index_dict 的限制是多少列?我需要知道它的实施,但我无法在网上找到答案

4

2 回答 2

3

一个集合可能有不超过 64 个索引。更多细节限制

但我想知道为什么你想要这么多索引?

编辑

复合索引中的字段不能超过 31 个。

于 2013-05-29T09:39:20.167 回答
2

老实说,我知道列数没有限制。但是有一个逻辑限制。

索引是一个很重的东西,在集合上放置一个巨大的,甚至接近表长度的索引会产生性能问题。最具体地说,您的索引在空间和值上是如此之大。

这一点,你必须知道。但是要回答您的问题:我知道没有限制。索引中每个字段的大小都有限制(包括名称在内的 1024 个字节),但我不知道索引中的列数。

编辑

看来我写这个答案有点快,有 31 个字段的限制:http: //docs.mongodb.org/manual/reference/limits/#Number%20of%20Indexed%20Fields%20in%20a%20Compound%20Index我想我只是从来没有达到那个数字:/

于 2013-05-29T09:50:48.420 回答