美文网首页
Mysql查看数据库或者表的大小

Mysql查看数据库或者表的大小

作者: overad | 来源:发表于2021-01-05 11:04 被阅读0次

    在mysql中有一个默认的数据表information_schemainformation_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'
    
    

    查看所有数据库容量大小

    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;
    

    查看所有数据库各表容量大小

    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;
    

    查看指定数据库容量大小

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

    查看指定数据库各表容量大小

    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;
    

    相关文章

      网友评论

          本文标题:Mysql查看数据库或者表的大小

          本文链接:https://www.haomeiwen.com/subject/iduioktx.html