用SQL命令查看Mysql数据库大小 统计数据库空间占用

 

复制代码
-- 1. 进入information_schema 数据库(存放了其他的数据库的信息)
use information_schema;

-- 2. 查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data 
from information_schema.tables
;

-- 3. 查看实例下所有数据库的空间占用情况
select 
     table_schema
    ,concat(round(sum(data_length/1024/1024),2),'MB') as data 
from information_schema.tables 
where table_schema like 'db_name_%' 
group by table_schema
;

-- 4.查看指定数据库的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data 
from information_schema.tables 
where table_schema='home'
;

-- 5. 查看指定数据库下的所有表的空间占用情况
select table_name,round(sum(data_length/1024/1024),2) as size 
from information_schema.tables 
where table_schema='DB_NAME'
group by table_name
order by size
;

-- 6. 查看指定数据库的某个表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data 
from information_schema.tables 
where table_schema='home' and table_name='members'
;
select     table_schema    ,round(sum(data_length/1024/1024),2) as data_length     ,round(sum(DATA_FREE/1024/1024),2) as data_free    ,round(sum(INDEX_LENGTH/1024/1024),2) as INDEX_LENGTHfrom information_schema.tables where table_schema='DB_NAME'group by table_schemaorder by data_length;
复制代码

 

 

复制代码
select
     TABLE_SCHEMA
    ,sum(DATA_LENGTH)/1024/1024/1024                            as size_DATA_LENGTH_g 
    ,sum(INDEX_LENGTH)/1024/1024/1024                           as size_INDEX_LENGTH_g 
    ,sum(DATA_FREE)/1024/1024/1024                              as size_DATA_FREE_g 
    ,sum((DATA_LENGTH+INDEX_LENGTH+DATA_FREE))/1024/1024/1024   as size_g 
from information_schema.tables 
where table_type = 'BASE TABLE'
group by TABLE_SCHEMA
order by size_DATA_FREE_g
;

select
     TABLE_NAME
    ,sum(DATA_LENGTH)/1024/1024/1024                            as size_DATA_LENGTH_g 
    ,sum(INDEX_LENGTH)/1024/1024/1024                           as size_INDEX_LENGTH_g 
    ,sum(DATA_FREE)/1024/1024/1024                              as size_DATA_FREE_g 
    ,sum((DATA_LENGTH+INDEX_LENGTH+DATA_FREE))/1024/1024/1024   as size_g 
from information_schema.tables 
where table_type = 'BASE TABLE'
    and table_schema = 'db_name'
    -- and TABLE_NAME = 'table_name'
group by TABLE_NAME
order by size_g desc
limit 20
;
复制代码

 

posted @   牧之丨  阅读(1026)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2021-01-29 Java并发(八)计算线程池最佳线程数
2019-01-29 用反射的方式获取父类中的所有属性和方法
2019-01-29 下划线转驼峰
2019-01-29 java HttpServletRequest 重复流读取
2018-01-29 在不升级 mysql 的情况下直接使用 mysql utf8 存储 超过三个字节的 emoji 表情
点击右上角即可分享
微信分享提示