1. 程式人生 > 實用技巧 >MySQL中查詢表及索引大小的方法

MySQL中查詢表及索引大小的方法

查詢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_NAME
AS '表名', 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;

https://www.cnblogs.com/pcheng/p/7730279.html