mongodb/mysql 查看数据库占用磁盘空间大小
一、mongodb
1、查看整个数据库
默认是bytes单位
db.stats();
返回:
{
"db" : "xxx", //当前数据库
"collections" : 27, //当前数据库多少表
"objects" : 18738550, //当前数据库所有表多少条数据
"avgObjSize" : 1153.54876188392, //每条数据的平均大小
"dataSize" : 21615831152.0, //所有数据的总大小
"storageSize" : 23223312272.0, //所有数据占的磁盘大小
"numExtents" : 121,
"indexes" : 26, //索引数
"indexSize" : 821082976, //索引大小
"fileSize" : 25691160576.0, //预分配给数据库的文件大小
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"extentFreeList" : {
"num" : 1,
"totalSize" : 65536
},
"ok" : 1.0
}
scale参数
可以通过传参数,比如
db.stats(1024)
//得到的是 KB 单位的
db.stats(1073741824);
//得到的是 G 单位的
这里的objects以及avgObjSize还是bytes为单位的,不受参数影响
2、查看数据库表
db.posts.stats();
{
"ns" : "test.posts",
"count" : 1,
"size" : 56,
"avgObjSize" : 56,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
二、mysql
1、查看所有数据库
SELECT
table_schema,
SUM( data_length + index_length ) / 1024 / 1024 AS total_mb,
SUM( data_length ) / 1024 / 1024 AS data_mb,
SUM( index_length ) / 1024 / 1024 AS index_mb,
COUNT( * ) AS TABLES,
CURDATE( ) AS today
FROM
information_schema.TABLES
GROUP BY
table_schema
ORDER BY
2 DESC;
2、查看某一个库
SELECT
CONCAT( TRUNCATE ( SUM( data_length ) / 1024 / 1024, 2 ), 'mb' ) AS data_size,
CONCAT( TRUNCATE ( SUM( max_data_length ) / 1024 / 1024, 2 ), 'mb' ) AS max_data_size,
CONCAT( TRUNCATE ( SUM( data_free ) / 1024 / 1024, 2 ), 'mb' ) AS data_free,
CONCAT( TRUNCATE ( SUM( index_length ) / 1024 / 1024, 2 ), 'mb' ) AS index_size
FROM
information_schema.TABLES
WHERE
table_schema = 'test';

浙公网安备 33010602011771号