MySQLで特定のデータベース内のテーブルサイズを確認する方法
前回はMySQLデータベース全体のサイズ確認方法を紹介しましたが、同様の手法を使えば、特定のデータベースに含まれる各テーブルのサイズも簡単に調べることができます。
テーブルサイズを確認するSQLクエリ
テーブルのサイズは、information_schema.TABLES テーブルから data_length(データ長)と index_length(インデックス長)を合計することで算出できます。以下がその実行例です。
mysql> SELECT
-> table_name AS "Table",
-> round(((data_length + index_length) / 1024 / 1024), 2) as SIZE
-> FROM information_schema.TABLES
-> WHERE table_schema = "SAMPLE"
-> ORDER BY SIZE;
+-------------+-------+
| Table | SIZE |
+-------------+-------+
| employee | 0.02 |
| student | 0.02 |
| new_student | 0.02 |
+-------------+-------+
3 rows in set (0.00 sec)クエリのポイント解説
- table_schema = "SAMPLE":対象となるデータベース名を指定します。ここでは「SAMPLE」データベースを指定しています。
- (data_length + index_length):データ部分とインデックス部分のサイズを合計しています。
- / 1024 / 1024:バイト単位の値をメガバイト(MB)単位に変換しています。
- round(..., 2):小数点第2位で四捨五入し、見やすい数値に整えています。
実行結果について
この出力結果から、「SAMPLE」データベースには「employee」「student」「new_student」の3つのテーブルが存在し、それぞれ約0.02MB(20KB程度)のサイズであることがわかります。
なお、結果をサイズの降順(大きい順)で表示したい場合は、ORDER BY SIZE DESC のように指定すると、容量の大きいテーブルから順に確認できて便利です。ディスク容量の管理やパフォーマンスチューニングの際に活用してみてください。
-
MySQLデータベース内のテーブル数を数える方法|SHOW TABLESとCOUNT(*)の使い方
MySQLデータベース内のテーブル数を数える方法 MySQLでデータベースに含まれるテーブルの総数を調べたい場合は、COUNT(*)とINFORMATION_SCHEMA.TABLES(table_schema)を組み合わせるのが基本です。まずは、対象となるデータベース「business」に実際にどのようなテーブルが存在するのかを確認してみましょう。テーブルの一覧を表示するには、SHOWコマンドを使用します。 mysql> show tables; 以下は、データベース「business」内のすべてのテーブルを表示した出力結果です。 +-----------------------
-
MySQLデータベースのテーブルサイズを取得・確認する方法
MySQLデータベース内の各テーブルのサイズを確認したい場合、システムが標準で提供している「information_schema.TABLES」を利用するのが最も手軽な方法です。このスキーマには、すべてのデータベースとテーブルに関するメタ情報(データ長、インデックス長など)が格納されており、SQLクエリだけで簡単に容量を調べることができます。全テーブルのサイズを一覧表示するSQL構文以下のクエリを実行すると、指定したデータベースに含まれるすべてのテーブルのサイズをMB単位で一覧取得できます。 SELECT TABLE_NAME AS `ALLTABLESNAME`, ROUND((DATA_L