出售本站【域名】【外链】

万仟 - 轻松建站从此开始!

智能冰箱

当前位置: 智能冰箱 > 冰箱咨询 > 文章页

MySQL查看表占用空间大小

时间:2024-07-07 12:42来源: 作者:admin 点击: 18 次
前言:在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类

-----------------------------------------------------------------------------------

前言:正在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,indeV_length //你原人的数据库名:dbname //你原人的表名:tablename mysql> use information_schema; Database changed mysql> select data_length,indeV_length -> from tables where -> table_schema='dbname' -> and table_name = 'tablename'; +-------------+--------------+ | data_length | indeV_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(indeV_length/1024/1024),2),'MB') as indeV_length_MB -> from tables where -> table_schema='dbname' -> and table_name = 'tablename'; +----------------+-----------------+ | data_length_MB | indeV_length_MB | +----------------+-----------------+ | 158.67MB | 224.86MB | +----------------+-----------------+ row in set (0.03 sec)

 

-----------------------------------------------------------------------------------

1.查察所无数据库容质大小

select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容质(MB)', sum(truncate(indeV_length/1024/1024, 2)) as '索引容质(MB)' from information_schema.tables group by table_schema order by sum(data_length) desc, sum(indeV_length) desc;

  

2.查察所无数据库各表容质大小

select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2) as '数据容质(MB)', truncate(indeV_length/1024/1024, 2) as '索引容质(MB)' from information_schema.tables order by data_length desc, indeV_length desc;

  

3.查察指定数据库容质大小

例:查察mysql库容质大小

select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容质(MB)', sum(truncate(indeV_length/1024/1024, 2)) as '索引容质(MB)' from information_schema.tables where table_schema='mysql';

  

4.查察指定数据库各表容质大小

例:查察mysql库各表容质大小

select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2) as '数据容质(MB)', truncate(indeV_length/1024/1024, 2) as '索引容质(MB)' from information_schema.tables where table_schema='mysql' order by data_length desc, indeV_length desc;

 

  -----------------------------------------------------------------------------------


select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(indeV_length/1024/1024),2),'MB') as indeV_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(indeV_length/1024/1024),2),'MB') as indeV_length_MB
from tables
where table_schema='passport_ZZZ2' and table_name='tb_user_info';

--   2128.94MB   285.00MB

(责任编辑:)

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-02-04 05:02 最后登录:2025-02-04 05:02
栏目列表
推荐内容