mongodb批量查询库中表的统计信息-创新互联
在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
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:mongodb批量查询库中表的统计信息-创新互联
当前链接:http://pwwzsj.com/article/djehdj.html