和 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 字段值一樣。
轉載自:http://ju.outofmemory.cn/entry/374382
