注:database为要查看的数据库名称
1、查看索引
(1)单位是GB
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 6), ' GB') AS 'Total Index Size' FROM information_schema.TABLES WHERE table_schema LIKE '${database}'; +------------------+ | Total Index Size | +------------------+ | 1.70 GB | +------------------+
(2)单位是MB
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 6), ' MB') AS 'Total Index Size' FROM information_schema.TABLES WHERE table_schema LIKE '${database}';
2、查看表空间
(1)单位是GB
SELECT CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ' GB') AS 'Total Data Size' FROM information_schema.TABLES WHERE table_schema LIKE '${database}'; +-----------------+ | Total Data Size | +-----------------+ | 3.01 GB | +-----------------+
(2)单位是MB
SELECT CONCAT(ROUND(SUM(data_length)/(1024*1024), 6), ' GB') AS 'Total Data Size' FROM information_schema.TABLES WHERE table_schema LIKE '${database}';
(3)单位是Bytes
mysql> show table status like 't1' \G *************************** 1. row *** Name: t1 Engine: InnoDB Version: 10 Row_format: Compact Rows: 0 Avg_row_length: 0 Data_length: 18381 Max_data_length: 0 Index_length: 0 Data_free: 2198304 //查看此处值 Auto_increment: NULL Create_time: 2018-03-21 11:09:20 Update_time: NULL Check_time: NULL Collation: latin1_swedish_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec) mysql > select * from INFORMATION_SCHEMA.TABLES where ENGINE='InnoDB';
3、查看数据库所有表的信息
SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', table_rows AS 'Number of Rows', CONCAT(ROUND(data_length/(1024*1024*1024),6),' G') AS 'Data Size', CONCAT(ROUND(index_length/(1024*1024*1024),6),' G') AS 'Index Size' , CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),6),' G') AS'Total' FROM information_schema.TABLES WHERE table_schema LIKE '${database}';