MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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 のように指定すると、容量の大きいテーブルから順に確認できて便利です。ディスク容量の管理やパフォーマンスチューニングの際に活用してみてください。

  1. MySQLデータベース内のテーブル数を数える方法|SHOW TABLESとCOUNT(*)の使い方

    MySQLデータベース内のテーブル数を数える方法 MySQLでデータベースに含まれるテーブルの総数を調べたい場合は、COUNT(*)とINFORMATION_SCHEMA.TABLES(table_schema)を組み合わせるのが基本です。まずは、対象となるデータベース「business」に実際にどのようなテーブルが存在するのかを確認してみましょう。テーブルの一覧を表示するには、SHOWコマンドを使用します。 mysql> show tables; 以下は、データベース「business」内のすべてのテーブルを表示した出力結果です。 +-----------------------

  2. MySQLデータベースのテーブルサイズを取得・確認する方法

    MySQLデータベース内の各テーブルのサイズを確認したい場合、システムが標準で提供している「information_schema.TABLES」を利用するのが最も手軽な方法です。このスキーマには、すべてのデータベースとテーブルに関するメタ情報(データ長、インデックス長など)が格納されており、SQLクエリだけで簡単に容量を調べることができます。全テーブルのサイズを一覧表示するSQL構文以下のクエリを実行すると、指定したデータベースに含まれるすべてのテーブルのサイズをMB単位で一覧取得できます。 SELECT TABLE_NAME AS `ALLTABLESNAME`, ROUND((DATA_L