MySQLのデータベースの各テーブルのレコード数とデータサイズとインデックスサイズを調べる

こちらを参考にしました。
http://d.hatena.ne.jp/sho-yamasaki/20120405/1333640589

試しに以下のように実行してみます。

SELECT
table_name, engine, table_rows AS tbl_rows, avg_row_length AS rlen,
FLOOR((data_length+index_length)/1024/1024) AS total_MB,
FLOOR((data_length)/1024/1024) AS data_MB,
FLOOR((index_length)/1024/1024) AS index_MB
FROM
information_schema.tables
WHERE
table_schema=database()
ORDER BY
(data_length+index_length) DESC;

実行結果

+----------------+--------+----------+------+----------+---------+----------+
| table_name     | engine | tbl_rows | rlen | total_MB | data_MB | index_MB |
+----------------+--------+----------+------+----------+---------+----------+
| post           | InnoDB |   100266 |   36 |        6 |       3 |        2 |
| user           | InnoDB |    10148 |   46 |        0 |       0 |        0 |
| category       | InnoDB |      738 |   88 |        0 |       0 |        0 |
+----------------+--------+----------+------+----------+---------+----------+
4 rows in set (0.00 sec)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA