MySQL查看表占用空间大小
2021/7/12 2:08:18
本文主要是介绍MySQL查看表占用空间大小,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转自 https://www.cnblogs.com/shoshana-kong/p/11136919.html
前言:在mysql中有一个默认的数据表information_schema
,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表。
代码:
1,切换数据库
use information_schema
;
2,查看数据库使用大小
select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ ;
3,查看表使用大小
select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ and table_name=’Table_Name’;
-----------------------------------------------------------------------------------
网上找的一个,亲测可用:
//先进去MySQL自带管理库:information_schema //然后查询 data_length,index_length //你自己的数据库名:dbname //你自己的表名:tablename mysql> use information_schema; Database changed mysql> select data_length,index_length -> from tables where -> table_schema='dbname' -> and table_name = 'tablename'; +-------------+--------------+ | data_length | index_length | +-------------+--------------+ | 166379520 | 235782144 | +-------------+--------------+ row in set (0.02 sec) mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, -> concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB -> from tables where -> table_schema='dbname' -> and table_name = 'tablename'; +----------------+-----------------+ | data_length_MB | index_length_MB | +----------------+-----------------+ | 158.67MB | 224.86MB | +----------------+-----------------+ row in set (0.03 sec)
-----------------------------------------------------------------------------------
1.查看所有数据库容量大小
1 2 3 4 5 6 7 8 |
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
group by table_schema
order by sum(data_length) desc, sum(index_length) desc;
|
2.查看所有数据库各表容量大小
1 2 3 4 5 6 7 8 |
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
order by data_length desc, index_length desc;
|
3.查看指定数据库容量大小
例:查看mysql库容量大小
1 2 3 4 5 6 7 |
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.查看指定数据库各表容量大小
例:查看mysql库各表容量大小
1 2 3 4 5 6 7 8 9 |
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;
|
-----------------------------------------------------------------------------------
select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB
from tables
where table_schema='passport' and table_name='tb_user_info';
-- 569.98MB 141.98MB
select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB
from tables
where table_schema='passport_v2' and table_name='tb_user_info';
-- 2128.94MB 285.00MB
这篇关于MySQL查看表占用空间大小的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南