纵有疾风起
人生不言弃

mysql怎么查看表占用空间大小

随着mysql 的使用,他会生成一些碎片和空间变大,这时候就需要去优化和维护它,那么怎么实现呢

本文章来给大家介绍一些常用的MySQL查看数据库、表的占用空间大小sql命令吧,希望此教程对各位同学会有所帮助.

•查看各库的大小,代码如下:

SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA=’database_name’;

结果是以字节为单位,除1024为K,除1048576为M.

•查看各表的大小,代码如下:

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA=’database_name’ AND TABLE_NAME=’table_name’;

•查看表的最后修改时间,代码如下:

sELECT TABLE_NAME,UPDATE_TIME FROM information_schema.tables where TABLE_SCHEMA=’database_name’;

LOG

information_schema 库的 TABLES 表,主要字段分别是:

TABLE_SCHEMA:数据库名

TABLE_NAME:表名

ENGINE:所使用的存储引擎

TABLES_ROWS:记录数

DATA_LENGTH:数据大小

INDEX_LENGTH:索引大小

自己应用的一个实例,代码如下:

  1. //先进去MySQL自带管理库:information_schema  
  2. //自己的数据库:dbwww58com_kuchecarlib  
  3. //自己的表:t_carmodelparamvalue 
  4. mysql> use information_schema; 
  5. Database changed 
  6. mysql> select data_length,index_length 
  7.     -> from tables where 
  8.     -> table_schema=‘dbwww58com_kuchecarlib’ 
  9.     -> and table_name = ‘t_carmodelparamvalue’
  10. +————-+————–+ 
  11. | data_length | index_length | 
  12. +————-+————–+ 
  13. |   166379520 |    235782144 | 
  14. +————-+————–+ 
  15. 1 row in set (0.02 sec) 
  16. mysql> select concat(round(sum(data_length/1024/1024),2),‘MB’as data_length_MB, 
  17.     -> concat(round(sum(index_length/1024/1024),2),‘MB’as index_length_MB 
  18.     -> from tables where 
  19.     -> table_schema=‘dbwww58com_kuchecarlib’ 
  20.     -> and table_name = ‘t_carmodelparamvalue’
  21. +—————-+—————–+ 
  22. | data_length_MB | index_length_MB | 
  23. +—————-+—————–+ 
  24. | 158.67MB       | 224.86MB        | 
  25. +—————-+—————–+ 
  26. 1 row in set (0.03 sec)  
未经允许不得转载:起风网 » mysql怎么查看表占用空间大小
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录