時々テーブルのデータが蓄積しすぎでディスク容量を圧迫されることがあります。その時以下のコマンドを使えばテーブル毎の容量、行数など情報をみることができます。
SELECT table_name, engine, table_rows, (data_length+index_length)/1024/1024/1024 as allGB, (data_length)/1024/1024/1024 as dataGB, (index_length)/1024/1024/1024 as indexGBFROM information_schema.tablesWHERE table_schema=database()ORDER BY (data_length+index_length) DESC;+--------------------+--------+------------+-----------------+-----------------+----------------+| TABLE_NAME | ENGINE | TABLE_ROWS | allGB | dataGB | indexGB |+--------------------+--------+------------+-----------------+-----------------+----------------+| user | InnoDB | 33543611 | 17.791976928711 | 16.137695312500 | 1.654281616211 || product | InnoDB | 43979 | 0.893157958984 | 0.893157958984 | 0.000000000000 || comment | InnoDB | 0 | 0.000244140625 | 0.000015258789 | 0.000228881836 || category | InnoDB | 0 | 0.000244140625 | 0.000015258789 | 0.000228881836 |+--------------------+--------+------------+-----------------+-----------------+----------------+ |
先程テーブル単位のデータ容量を確認できましたが、以下のクエリーを使えばデータベース単位での容量も確認できます。
SELECT table_schema, sum(data_length) /1024/1024/1024 AS GBFROM information_schema.tables GROUP BY table_schemaORDER BY sum(data_length+index_length) DESC;+---------------------+-----------------+| table_schema | GB |+---------------------+-----------------+| bbs | 81.270685018040 || user | 13.613167230971 || product | 1.102905860171 || test | 0.629666061141 || log | 0.017431590706 || auth | 0.003235515207 || information_schema | 0.000000000000 |+---------------------+-----------------+ |