SequoiaDB 简介
快速入门
安装部署
数据库实例
分布式引擎
SAC 管控中心
SequoiaPerf 性能分析工具
参考手册
常见问题及解答(FAQ)
版本信息
getCollectionStat - 获取集合的统计信息
db.collectionspace.collection.getCollectionStat()
SdbCollection
该函数用于获取当前集合的统计信息。
无
函数执行成功时,将返回一个 BSONObj 类型的对象。通过该对象获取集合的统计信息,字段说明如下:
| 字段名 | 类型 | 描述 |
|---|---|---|
| Collection | string | 集合名称 |
| InternalV | uint32 | 集合统计信息的版本 |
| StatTimestamp | string | 集合统计信息的统计时间 |
| IsDefault | boolean | 集合统计信息是否为默认值 |
| IsExpired | boolean | 集合统计信息是否过期,默认为 false |
| AvgNumFields | uint64 | 集合内记录的平均字段个数,默认值为 10 |
| SampleRecords | uint64 | 集合内进行抽样的记录个数,默认值为 200 |
| TotalRecords | uint64 | 集合内记录总数,默认值为 200 |
| TotalDataPages | uint64 | 集合内数据页总数,默认值为 1 |
| TotalDataSize | uint64 | 集合内数据总大小,默认值为 80000,单位为字节 |
函数执行失败时,将抛异常并输出错误信息。
getCollectionStat() 函数常见异常如下:
| 错误码 | 错误名 | 报错原因 | 解决办法 |
|---|---|---|---|
| -377 | SDB_MAINCL_NOIDX_NOSUB | 所操作的主集合未挂载子集合 | 通过 attachCL() 在该主集合上挂载任意子集合 |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.6.1 及以上版本
获取集合 sample.employee 的统计信息
> db.sample.employee.getCollectionStat()
输出结果如下:
{
"Collection": "sample.employee",
"InternalV": 1,
"StatTimestamp": "2022-11-07-20.29.43.739000",
"IsDefault": false,
"IsExpired": false,
"AvgNumFields": 10,
"SampleRecords": 1000,
"TotalRecords": 1000,
"TotalDataPages": 22,
"TotalDataSize": 30000
}
Note
当字段 IsDefault 显示为 true 时,表示未查询到对应集合的统计信息。用户需手动执行 analyze() 更新集合的统计信息后,再进行统计信息的获取操作。
展开