和 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报