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 字段值一样。

转载自:http://ju.outofmemory.cn/entry/374382

原文地址:https://www.cnblogs.com/xibuhaohao/p/11358381.html

时间: 2024-08-01 12:35:03

MongoDB 查看集合的统计信息的相关文章

oracle10g 统计信息查看、收集

1. 统计信息查看 1.1 单个表的全局统计信息.统计效果查看 2. 统计信息分析(收集) 2.1 分析工具选择 2.2 分析前做index重建 2.3 分析某数据表,可以在PL/SQL的command window下执行的 2.4 分析SCHEMA,在SQLPLUS中进行的 2.5 dbms_stats.gather_schema_stats详解 2.6 初始化参数statistics_level与oracle默认统计信息收集JOB的关系 3. 改良.辅助oracle默认统计信息收集JOB 3

DBCC SHOW_STATISTICS 查看统计信息

使用DBCC Show_Statistics 能够查看 表或Indexed view上的统计信息.Query optimizer使用统计信息进行estimate,生成高质量的qeury plan.统计信息不是实时更新的,如果统计信息过期,Query optimizer可能不能生成高质量的query plan,所以,可以通过DBCC Show_Statistics查看统计信息最后一次更新的日期,并手动更新统计信息,以使query optimizer依据正确的统计信息生成高效的query plan.

收集oracle统计信息

优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN:列统计: --列中唯一值的数量(NDV),NULL值的数量,数据分布:             --DBA_TAB_COLUMNS:NUM_DISTINCT,NUM_NULLS,HISTOGRAM:索引统计:--叶块数量,等级,聚簇因子:             --DBA_INDEXES:LEAF_BLOCKS,CLUSTERING_FACTOR,BLEVEL:

Oracle 学习之性能优化(四)收集统计信息

emp表有如下数据. SQL> select ename,deptno from emp; ENAME    DEPTNO ------------------------------ ---------- SMITH        20 ALLEN        30 WARD        30 JONES        20 MARTIN        30 BLAKE        30 CLARK        10 SCOTT        20 KING        10 TUR

10G,11G恢复表的统计信息

10G,11G恢复表的统计信息 适用的Oracle Version 10.1.0.2 to 11.2.0.3   oracle 10G开始,当一个表生成新的统计信息的同时,该表的旧统计信息会保留,如果以后依赖该旧统计信息的查询出现性能问题,可以恢复旧的统计信息使该查询使用先前的统计信息来解决可能出现的性能问题oracle 10g,11g 中oracle 对象统计信息默认的保存时间是31天,统计信息在sysaux表空间有存储开销,应该注意sysaux不要被统计信息填满 sql> select DB

统计信息内幕:直方图和密度向量

有个问题:在执行计划里运算符的估计行数是42,但是你知道查询的正确行数不是42.你也听说了SQL Server使用统计信息来作此估计的?但我们怎么看懂统计信息,来理解这里的估计是怎么来的? 今天我想谈下SQL Server里的统计信息,在直方图(histogram)和密度向量(density vector)里,SQL Server内部是如何保存这些值的并用此来估计行数的. 直方图(Histogram) 首先我们来看下直方图.直方图的用途是用高效.压缩的方式存储列数据分布情况.每次当你在表上创建索

SQL Server2016 新功能实时查询统计信息

SQL Server2016 新功能实时查询统计信息 很多时候有这样的场景,开发抱怨DBA没有调优好数据库,DBA抱怨开发写的程序代码差,因此,DBA和开发都成为了死对头,无法真正排查问题. DBA只能使用Windows性能监视器,SQL Server内置的活动监视器.SQL Trace.SQL Profiler.Performance Dashboard等工具,或者使用执行计划来查看查询成本. 为了让DBA有更多有效工具排查问题,SQL Server2016推出了很多新功能,其中一项功能是 L

SQL调优技巧:统计信息(文末福利)

点击上方"异步社区",选择"置顶公众号" 技术干货,第一时间送达 统计信息类似于战争中的侦察兵,如果情报工作没有做好,打仗就会输掉战争.同样的道理,如果没有正确地收集表的统计信息,或者没有及时地更新表的统计信息,SQL的执行计划就会跑偏,SQL也就会出现性能问题.收集统计信息是为了让优化器选择最佳执行计划,以最少的代价(成本)查询出表中的数据. 统计信息主要分为表的统计信息.列的统计信息.索引的统计信息.系统的统计信息.数据字典的统计信息以及动态性能视图基表的统计信

mysql-5.7 持久化统计信息详解

一.持久化统计信息的意义: 统计信息用于指导mysql生成执行计划,执行计划的准确与否直接影响到SQL的执行效率:如果mysql一重启 之前的统计信息就没有了,那么当SQL语句来临时,那么mysql就要收集统计信息然后再生成SQL语句的执行 计划.如果能在关闭mysql的时候就把统计信息保存起来,那么在启动时就不要再收集一次了,这种处理方式 有助于效率的提升. 二.统计信息准确与否也同样重要: 第一目中我们说明了"持久化统计信息的意义",我们的假设统计信息是有用的,是准确的:如果统计信