各位用户为了找寻关于Mysql 查询数据库容量大小的方法步骤的资料费劲了很多周折。这里教程网为您整理了关于Mysql 查询数据库容量大小的方法步骤的相关资料,仅供查阅,以下为您介绍关于Mysql 查询数据库容量大小的方法步骤的详细内容
查询所有数据库的总大小
方法如下:
? 1 2 3 4 5 6 7 8mysql> use information_schema;
mysql>
select
concat(round(
sum
(DATA_LENGTH/1024/1024),2),
'MB'
)
as
data
from
TABLES;
+
-----------+
| data |
+
-----------+
| 3052.76MB |
+
-----------+
1 row
in
set
(0.02 sec)
统计一下所有库数据量
每张表数据量=AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH
? 1 2 3SELECT
SUM
(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024
AS
total_mb
FROM
information_schema.TABLES
统计每个库大小:
? 1 2 3SELECT
table_schema,
SUM
(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024
AS
total_mb
FROM
information_schema.TABLES
group
by
table_schema;
第二种情况:查看指定数据库的大小,比如说:数据库test,方法如下:
? 1 2 3 4 5 6 7 8mysql> use information_schema;
mysql>
select
concat(round(
sum
(DATA_LENGTH/1024/1024),2),
'MB'
)
as
data
from
TABLES
where
table_schema=
'test'
;
+
----------+
| data |
+
----------+
| 142.84MB |
+
----------+
1 row
in
set
(0.00 sec)
1.查看所有数据库各容量大小
? 1 2 3 4 5 6 7 8select
table_schema
as
'数据库'
,
sum
(table_rows)
as
'记录数'
,
sum
(
truncate
(data_length/1024/1024, 2))
as
'数据容量(MB)'
,
sum
(
truncate
(index_length/1024/1024, 2))
as
'索引容量(MB)'
from
information_schema.tables
group
by
table_schema
order
by
sum
(data_length)
desc
,
sum
(index_length)
desc
;
2.查看所有数据库各表容量大小
? 1 2 3 4 5 6 7 8select
table_schema
as
'数据库'
,
table_name
as
'表名'
,
table_rows
as
'记录数'
,
truncate
(data_length/1024/1024, 2)
as
'数据容量(MB)'
,
truncate
(index_length/1024/1024, 2)
as
'索引容量(MB)'
from
information_schema.tables
order
by
data_length
desc
, index_length
desc
;
3.查看指定数据库容量大小
? 1 2 3 4 5 6 7 8例:查看mysql库容量大小
select
table_schema
as
'数据库'
,
sum
(table_rows)
as
'记录数'
,
sum
(
truncate
(data_length/1024/1024, 2))
as
'数据容量(MB)'
,
sum
(
truncate
(index_length/1024/1024, 2))
as
'索引容量(MB)'
from
information_schema.tables
where
table_schema=
'mysql'
;
4.查看指定数据库各表容量大小
? 1 2 3 4 5 6 7 8 9 10 11例:查看mysql库各表容量大小
select
table_schema
as
'数据库'
,
table_name
as
'表名'
,
table_rows
as
'记录数'
,
truncate
(data_length/1024/1024, 2)
as
'数据容量(MB)'
,
truncate
(index_length/1024/1024, 2)
as
'索引容量(MB)'
from
information_schema.tables
where
table_schema=
'mysql'
order
by
data_length
desc
, index_length
desc
;
题外方法
直接用shell命令统计mysql data目录中的大小(注意只有库,不包含数据库日志大小)
备注 :
data_length :存储数据大小
data_length/1024/1024:将字节转换为MB
round(sum(data_length/1024/1024),2):取两位小数
concat(round(sum(data_length/1024/1024),2),'MB') :给计算结果追加单位 “MB”
到此这篇关于Mysql 查询数据库容量大小的方法步骤的文章就介绍到这了,更多相关Mysql 查询数据库容量大小内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://segmentfault.com/a/1190000022874702