在mysql中有一個默認的數據表information_schema
,information_schema這張數據表保存了MySQL服務器所有數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權限等。再簡單點,這台MySQL服務器上,到底有哪些數據庫、各個數據庫有哪些表,每張表的字段類型是什么,各個數據庫要什么權限才能訪問,等等信息都保存在information_schema表里面。
1、查看數據庫使用情況
索引大小 + 數據大小 = 總大小
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), 'MB') AS 'Total Index Size' , CONCAT(ROUND(SUM(data_length)/(1024*1024), 2), ' MB') AS 'Total Data Size' , CONCAT(ROUND(SUM(index_length+data_length)/(1024*1024), 2), ' MB') AS 'Total Size' FROM information_schema.TABLES WHERE table_schema LIKE '數據庫名';
查看表占用
表名、行數、數據大小、索引大小、總大小
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 = '數據庫名';