MongoDB:查看集合的统计信息

和 RDBMS 一样, MongoDB 同样存储集合的统计信息,通过调用命令 db.collection.stats()

可以方便的查看集合的统计信息。

--1 查看集合 things 的统计信息

rs0:PRIMARY> db.things.stats();
{
        "ns" : "test.things",
        "count" : 30,
        "size" : 1440,
        "avgObjSize" : 48,
        "storageSize" : 8192,
        "numExtents" : 1,
        "nindexes" : 1,
        "lastExtentSize" : 8192,
        "paddingFactor" : 1,
        "systemFlags" : 1,
        "userFlags" : 0,
        "totalIndexSize" : 8176,
        "indexSizes" : {
                "_id_" : 8176
        },
        "ok" : 1
}
备注: 部分参数解释如下:
         ns:     集合的命名空间,可以理解为集合名称
         count:  集合中的文档总数
         size:   集合中数据占用空间大小,不包括索引 ,单位为字节。
         avgObjSize:  平均对像占用的空间大小
         storageSize: 给整个集合分配的存储空间,当删除集合中的文档时,这个值不会降代。
         numExtents:  连续分配的数据块
         nindexes:     索引个数,每个集合至少有一个 _id 索引。 
         lastExtentSize: 最近分配的块的大小
         paddingFactor:   这个参数不太清楚,以后补充。
         totalIndexSize:  所有索引大小总和
         indexSizes:      列出集合的所有索引字段,以及索引大小。

--2 以 KB 为单位显示

 rs0:PRIMARY> db.things.stats(1024);
{
        "ns" : "test.things",
        "count" : 30,
        "size" : 1,
        "avgObjSize" : 0.03333333333333333,
        "storageSize" : 8,
        "numExtents" : 1,
        "nindexes" : 1,
        "lastExtentSize" : 8,
        "paddingFactor" : 1,
        "systemFlags" : 1,
        "userFlags" : 0,
        "totalIndexSize" : 7,
        "indexSizes" : {
                "_id_" : 7
        },
        "ok" : 1
}

备注:db.things.stats() 命令默认以 bytes 为单位,以上是以 KB 为单位。

--3 仅查看集合占用空间大小

rs0:PRIMARY> db.things.dataSize(); 1440

备注:和前面的命令 db.things.stats() 输出的 size 字段值一样。

results for ""

    No results matching ""