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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM