MySQL中查詢表及索引大小的方法
阿新 • • 發佈:2020-11-12
查詢MySQL表的大小及索引大小可以通過系統庫information_schema中的TABLES表來實現。 該表常用的一些欄位: TABLE_SCHEMA:資料庫名 TABLE_NAME:表名 ENGINE:所使用的儲存引擎 TABLES_ROWS:記錄行數 DATA_LENGTH:表大小 INDEX_LENGTH:索引大小 1、可以查詢資料庫的資料行數、表空間、索引空間,如下,將[資料庫名]替換成你自己的資料庫名即可。 SELECT TABLE_SCHEMA AS '庫名', CONCAT(ROUND(TABLE_ROWS/10000, 2), ' 萬行') AS '行數', CONCAT(ROUND(SUM(DATA_LENGTH)/(1024*1024*1024), 2), ' GB') AS '表空間', CONCAT(ROUND(SUM(INDEX_LENGTH)/(1024*1024*1024), 2), ' GB') AS '索引空間', CONCAT(ROUND(SUM(DATA_LENGTH+INDEX_LENGTH)/(1024*1024*1024),2),' GB') AS'總空間' FROM information_schema.TABLES WHERE TABLE_SCHEMA = [資料庫名]; 2、當然也可以不彙總,查詢下各個表的情況進行分析,如下,將[資料庫名]替換成你自己的資料庫名即可。 SELECT TABLE_NAMEAS '表名', CONCAT(ROUND(TABLE_ROWS/10000, 2), ' 萬行') AS '行數', CONCAT(ROUND(DATA_LENGTH/(1024*1024*1024), 2), ' GB') AS '表空間', CONCAT(ROUND(INDEX_LENGTH/(1024*1024*1024), 2), ' GB') AS '索引空間', CONCAT(ROUND((DATA_LENGTH+INDEX_LENGTH)/(1024*1024*1024),2),' GB') AS'總空間' FROM information_schema.TABLES WHERE TABLE_SCHEMA = [資料庫名] ORDER BY TABLE_ROWS DESC;