用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
;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM