0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MySQL でテーブルサイズを調査する手順

Last updated at Posted at 2024-11-12

これなに

RDS インスタンスのランニングコストを節約したいと思って、どのテーブルサイズが大きいのだろうと調べた時のメモです。
わりとみなさんご存知の内容だと思いますし、説明も十分では無いと思うので参考程度にご覧いただければと思います。

調査手順

MySQL に接続

釈迦に説法だと思いますが、一応 MySQL の接続コマンドをメモしておきます。
-h, --port オプションは任意なので、ご自身の環境に合わせてカスタムしてください。

> mysql -u ユーザー名 -h ホスト名 -- port ポート番号 -p

テーブルサイズ調査クエリ

information_schema データベースを使用してテーブルのサイズ情報を取得できます。
クエリは以下の通りです。

SELECT 
    table_schema AS `Database`, 
    table_name AS `Table`, 
    table_rows AS `Rows`,
    ROUND((data_length + index_length) / 1024 / 1024, 2) AS `Size (MB)`
FROM 
    information_schema.TABLES
WHERE 
    table_schema = 'データベース名称'
ORDER BY 
    (data_length + index_length) DESC;

取得したクエリ結果は以下のようなものです。
参考程度にご覧ください。

mysql> SELECT
    ->     table_schema AS `Database`,
    ->     table_name AS `Table`,
    ->     table_rows AS `Rows`,
    ->     ROUND((data_length + index_length) / 1024 / 1024, 2) AS `Size (MB)`
    -> FROM
    ->     information_schema.TABLES
    -> WHERE
    ->     table_schema = 'su3_database'
    -> ORDER BY
    ->     (data_length + index_length) DESC;
+--------------+--------------------+---------+-----------+
| Database     | Table              | Rows    | Size (MB) |
+--------------+--------------------+---------+-----------+
| su3_database | sent_email_history |   41965 |   1167.23 |
| su3_database | user_settings      |   52319 |   1110.16 |
| su3_database | user_accounts      | 3189785 |    410.77 |
+--------------+--------------------+---------+-----------+
3 rows in set (0.02 sec)

mysql>

さいごに

結構忘れがちなので個人的にメモしておきました。
繰り返しになりますが、わりとみなさんご存知の内容だと思いますし、説明も十分では無いと思うので参考程度にご覧いただければと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?