-----------------------------------------------------------------------------------
前言:在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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~