您的位置:首页 > 数据库 > 数据库管理 > 正文

MySQL中查询数据库的大小

更多 时间:2017-4-12 类别:数据库 浏览量:1196

MySQL中查询数据库的大小

MySQL中查询数据库的大小
  •  
  • 一、information_schema数据库的介绍
  •  
  • 这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等。所以要想查询数据库占用磁盘的空间大小可以通过对information_schema数据库进行操作。
  •  
  • information_schema中的表主要有:
  •  
  •  
  • 1、schemata表:这个表里面主要是存储在mysql中的所有的数据库的信息
  •  
  • 2、tables表:这个表里存储了所有数据库中的表的信息,包括每个表有多少个列等信息。
  •  
  • 3、columns表:这个表存储了所有表中的表字段信息。
  •  
  • 4、statistics表:存储了表中索引的信息。
  •  
  • 5、user_privileges表:存储了用户的权限信息。
  •  
  • 6、schema_privileges表:存储了数据库权限。
  •  
  • 7、table_privileges表:存储了表的权限。
  •  
  • 8、column_privileges表:存储了列的权限信息。
  •  
  • 9、character_sets表:存储了mysql可以用的字符集的信息。
  •  
  • 10、collations表:提供各个字符集的对照信息。
  •  
  • 11、collation_character_set_applicability表:相当于collations表和character_sets表的前两个字段的一个对比,记录了字符集之间的对照信息。
  •  
  • 12、table_constraints表:这个表主要是用于记录表的描述存在约束的表和约束类型。
  •  
  • 13、key_column_usage表:记录具有约束的列。
  •  
  • 14、routines表:记录了存储过程和函数的信息,不包含自定义的过程或函数信息。
  •  
  • 15、views表:记录了视图信息,需要有show view权限。
  •  
  • 16、triggers表:存储了触发器的信息,需要有super权限。
  •  

    二、查询所有的数据库数据大小

     

    select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables;
    

     

    三、查看指定数据库大小

    要查询表所占的容量,就是把表的数据和索引加起来

     

    select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables 
    where table_schema='数据库名';
    

     

    四、查看指定数据库的指定表的大小

     

    select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema=’数据库名’ AND table_name=’表名’; 
    

     

    五、查询指定数据库指定表的其他大小信息

     

  • 
    	

    select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data_size, concat(round(sum(MAX_DATA_LENGTH/1024/1024),2),'MB') as max_data_size, concat(round(sum(INDEX_LENGTH/1024/1024),2),'MB') as index_size, concat(round(sum(DATA_FREE/1024/1024),2),'MB') as data_free from TABLES where table_schema='CarData' and table_name='driver020294'

  •  

    标签:MySQL
    您可能感兴趣