MySQL查看表占用空间大小
发布时间:2025-05-15 01:05:09
作者:益华网络
来源:undefined
浏览量(0)
点赞(0)
摘要:前言 在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,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.查看所有数据库容量大小
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.查看所有数据库各表容量大小 ```sql 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库容量大小
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库各表容量大小
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
扫一扫,关注我们
声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。
0