在MySQL中,我們可以使用以下代碼來查看某張表的大小:
SELECT CONCAT(table_schema, '.', table_name), CONCAT(ROUND(table_rows / 1000000, 2), 'M') Rows, CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') Data, CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx, CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size, ROUND(index_length / data_length, 2) idxfrac FROM information_schema.TABLES WHERE table_schema NOT IN ('information_schema', 'performance_schema', 'mysql') AND table_name = 'your_table_name' ORDER BY data_length DESC;
將該代碼復制粘貼到MySQL的客戶端中執行,并將代碼中的“your_table_name”替換成需要查看的表名即可。執行后,將會按照表的大小排序,同時顯示表的行數、表數據大小、表索引大小以及表總大小。
需要注意的是,代碼中的“table_schema NOT IN”表示要排除某些系統庫,如果有其他需要排除的庫,可以在這個部分繼續添加,每個庫名用逗號隔開即可。
通過這種方式,我們可以快速查看MySQL數據庫中各張表的大小,方便我們進行優化和管理。