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