表とスキーマのサイズを照会する
MySQLストレージコマンド
SELECT table_schema AS schema_name, table_name AS table_name, ROUND((data_length + index_length) / 1024 / 1024, 1) AS size_mb FROM information_schema.tables WHERE table_schema NOT IN ('mysql','information_schema','performance_schema','sys') ORDER BY (data_length + index_length) DESC LIMIT 20;概要
データとインデックスの合計サイズ(MB)で最も大きい20の表を一覧表示する。
使用する場面
ディスク使用量を分析し、どの表が領域を占めているかを特定するため。
注意
InnoDBではinformation_schemaのサイズは概算値。スキーマごとの合計には、table_nameではなくtable_schemaのみでGROUP BYする。