加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

使用 MongoDB 可以轻松地获取表在给定数据库中的统计信息

发布时间:2023-10-11 15:15:00 所属栏目:系统 来源:
导读:在mongodb中,查看一个表的统计信息一般用:

db.t.stats()

主要信息有:

"ns" : "gqtest.t",

"count" : 40001, ###行数

"size" : 2188945, ###数据大小单位字节

"storageSize" :
在mongodb中,查看一个表的统计信息一般用:
 
db.t.stats()
 
主要信息有:  
 
"ns" : "gqtest.t",
 
"count" : 40001,      ###行数
 
"size" : 2188945,     ###数据大小单位字节
 
"storageSize" : 1126400,   
 
"totalIndexSize" : 1851392,  ###总索引大小
 
"indexSizes" : {
 
"_id_" : 753664,
 
"age_1_name_1" : 1097728
 
},
 
"avgObjSize" : 54.72225694357641,
 
"nindexes" : 2,            ###索引个数
 

 
提前将获取到的表名写入:college.txt文件。主要是通过正则匹配,可以自己测试,加以调整。
 
#!/bin/bash
 
user=admin
 
passwd=123456
 
database=gqtest
 
addres=/opt/mongodb3.2.13/bin/mongo
 
file=mongo_data.csv
 
for i in `cat college.txt`
 
    do
 
    college_name=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep ns |awk 'NR==1{print $3}' `
 
    count=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep count |awk 'NR==1{print $3}' `
 
    size=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep size |awk 'NR==1{print $3}'`
 
    index_num=` $addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep nindexes |awk 'NR==1{print $3}' `
 
    indexsize=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database --eval "db.$i.stats()" |grep        totalIndexSize |awk 'NR==1{print $3}'`
 
echo -e  "$college_name    $count    $size $index_num $indexsize\n" >> $file
 
done
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章