MySQLを使用しているときに、データベース内の特定のテーブルのMySQLテーブルサイズを取得する必要がある場合があります。この情報を格納する直接変数はありません。次のSQLクエリを使用して取得できます。 MySQLテーブルサイズは2つの部分で構成されています:
1. data_length –テーブルレコードのサイズ
2. index_length –テーブルインデックスのサイズ
これらは、情報をバイト数として格納するシステム変数です。以下のクエリは、テーブルの2つの変数を追加します。理解しやすいように、結果のバイト数をメガバイト(MB)に変換します。以下の$DB_NAMEと$TABLE_NAMEを置き換えるだけで使用できます。
データベース内の1つのテーブルのMySQLテーブルサイズを取得するには、次を使用します。
SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Table size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" AND table_name = "$TABLE_NAME";
$ DB_NAME –MySQLデータベースの名前
$ TABLE_NAME –MySQLテーブルの名前
データベース内の複数のテーブルのMySQLテーブルサイズを取得するには、次を使用します。
SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Table size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" AND table_name in ("$TABLE_NAME1","$TABLE_NAME2","$TABLE_NAME3");
$ TABLE_NAME1、$TABLE_NAME2など –MySQLテーブルの名前