MySQL是一款常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),常常需要查詢數(shù)據(jù)庫的表大小來監(jiān)測數(shù)據(jù)庫性能、備份數(shù)據(jù)等操作。下面介紹如何查詢MySQL中表的大小。
# 顯示指定數(shù)據(jù)庫中所有表的大小 SELECT TABLE_NAME AS "表名", ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS "大小(MB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA = '數(shù)據(jù)庫名' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC; # 顯示指定表的大小 SELECT TABLE_NAME AS "表名", ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS "大小(MB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA = '數(shù)據(jù)庫名' AND TABLE_NAME = '表名' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
其中,information_schema.TABLES
是一個(gè)特殊的表,用來存儲(chǔ)MySQL中所有表的元數(shù)據(jù)信息,包括表名、表大小、表類型、表引擎等。
代碼中的DATA_LENGTH
表示數(shù)據(jù)文件的大小,INDEX_LENGTH
表示索引文件的大小,兩者相加即為表的總大小。通過使用ROUND
函數(shù)將大小轉(zhuǎn)換為MB,并使用ORDER BY
語句根據(jù)表大小進(jìn)行降序排序。
通過以上代碼,您可以輕松查詢MySQL中所有表或指定表的大小,方便進(jìn)行數(shù)據(jù)庫性能和備份管理。