簡単3ステップ!MySQLで特定のテーブルのディスク使用量を確認する方法

2024-04-26

MySQLテーブルのディスク使用量を確認する方法

方法1: INFORMATION_SCHEMA テーブルを使用する

  1. 以下のSQLクエリを実行します。
SELECT
  TABLE_NAME,
  ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS TABLE_SIZE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '<データベース名>'
ORDER BY TABLE_SIZE DESC;

このクエリは、指定されたデータベース内のすべてのテーブルの名前と、それぞれが占有しているディスク容量 (MB単位) を表示します。

方法2: SHOW TABLE STATUSコマンドを使用する

SHOW TABLE STATUS LIKE '<テーブル名>';

このクエリは、指定されたテーブルの名前、行数、ディスク使用量 (バイト単位) などの情報を表示します。

補足

  • 上記のクエリを実行するには、MySQLデータベースへのアクセス権を持つユーザーとしてログインする必要があります。
  • テーブルのディスク使用量は、実際よりも多少大きくなる場合があります。これは、MySQLが内部的に使用する追加スペースが考慮されていないためです。
  • より詳細なディスク使用量情報を知りたい場合は、mysqldb コマンドラインツールを使用することができます。



SELECT
  TABLE_NAME,
  ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS TABLE_SIZE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test_db'
ORDER BY TABLE_SIZE DESC;
SHOW TABLE STATUS LIKE 'users';
  • 上記のクエリは、サンプルとして記載されています。実際のデータベース名やテーブル名に合わせて変更してください。
  • データベースへの接続情報や認証情報などは、環境に合わせて設定してください。

実行方法

以下の手順で、上記サンプルコードを実行することができます。

  1. MySQLクライアントツールを起動します。
  2. 上記のサンプルコードをコピーして、MySQLクライアントツールに貼り付けます。
  3. Enterキーを押して、クエリを実行します。

出力例

+--------------------+------------+-------------+
| TABLE_NAME         | TABLE_SIZE |
+--------------------+------------+-------------+
| users              |   1.23     |
| products            |   0.54     |
| orders             |   0.12     |
+--------------------+------------+-------------+



MySQLテーブルのディスク使用量を確認するその他の方法

方法3: システムファイルを使用する

  1. MySQLデータディレクトリに移動します。
du -sh <テーブル名>.frm

このコマンドは、指定されたテーブルの .frm ファイルのサイズ (MB単位) を表示します。

方法4:サードパーティ製のツールを使用する

MySQLのディスク使用量を確認できるサードパーティ製のツールがいくつかあります。これらのツールは、より詳細な情報や、GUIインターフェースを提供している場合があります。

  • 方法3は、.frm ファイルのみのサイズを報告することに注意してください。テーブルに関連する他のファイル (インデックスファイルなど) のサイズは含まれません。
  • サードパーティ製のツールを使用する場合は、ライセンス情報を確認する必要があります。

mysql


選んで絞り込んで、必要な情報をゲット!MySQLで文字列長検索をマスターしよう

このチュートリアルでは、MySQLのSELECTステートメントとLENGTH()関数を使用して、文字列の長さに基づいてデータを選択する方法を説明します。使用するものMySQLデータベースデータベースへのアクセス権SQLクエリの基本的な知識手順...


MySQLで高速に行数をカウントする方法:パフォーマンスを向上させるための5つのヒント

大きなテーブルで高速に行数をカウントするには、以下の方法がいくつかあります。INFORMATION_SCHEMA テーブルを使用するMySQL 5.0以降では、INFORMATION_SCHEMAデータベースにTABLESテーブルがあり、このテーブルを使用して各テーブルの行数を取得できます。この方法は、インデックスを使用しないため、COUNT(*)関数よりも高速に実行できます。...


PHPでMySQLデータベースに接続する:mysql() vs mysqli()

PHP スクリプトで MySQL データベースに接続する場合、mysql() と mysqli() という2つの異なるインターフェースを使用できます。近年、mysql() は非推奨となり、mysqli() が推奨されています。なぜ mysql() は機能しないのか?...


SQL SQL SQL SQL Amazon で見る



【初心者向け】MySQLのテーブルサイズを簡単取得!4つの方法と注意点

MySQLデータベースのテーブルサイズを取得するには、いくつか方法があります。方法INFORMATION_SCHEMAデータベースには、テーブルに関する情報を含むTABLESテーブルがあります。このテーブルを使用して、テーブルサイズを取得できます。