5

私のmongodbコレクションには57Mのドキュメントがあり、これは19Gのデータです。私のインデックスは10Gを占めています。これは正常に聞こえますか、それとも私が何か非常に間違ったことをしている可能性があります! 私の主キーは2Gです。

{
        "ns" : "myDatabase.logs",
        "count" : 56795183,
        "size" : 19995518140,
        "avgObjSize" : 352.0636272974065,
        "storageSize" : 21217578928,
        "numExtents" : 39,
        "nindexes" : 4,
        "lastExtentSize" : 2146426864,
        "paddingFactor" : 1,
        "flags" : 1,
        "totalIndexSize" : 10753999088,
        "indexSizes" : {
            "_id_" : 2330814080,
            "type_1_playerId_1" : 2999537296,
            "type_1_time_-1" : 2344582464,
            "type_1_tableId_1" : 3079065248
        },
        "ok" : 1
    }
4

1 に答える 1

6

インデックスのサイズは、インデックスを作成するドキュメントの数とキーのサイズによって決まります (複合キーはより多くの情報を格納するため、より大きくなります)。この場合、_id インデックスをドキュメント数で割った値は 40 バイトであり、比較的妥当と思われます。

db.collection.getIndexes() を実行すると、インデックスのバージョンを確認できます。{v : 0} の場合、インデックスは mongo 2.0 より前に作成されています。この場合、{v:1} にアップグレードする必要があります。このプロセスはここに文書化されています: http://www.mongodb.org/display/DOCS/Index+Versions

于 2012-05-29T18:37:30.797 に答える