MySQL テーブルごとのサイズを一覧で取得する

  • 作成日 2021.12.25
  • 更新日 2022.12.12
  • mysql
MySQL テーブルごとのサイズを一覧で取得する

MySQLで、テーブルごとのサイズを一覧で取得する手順を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 (Ubuntu)

手順

テーブルごとのサイズを一覧で取得するには、「information_schema.tables」を使用します。

実際に、取得してみます。
※単位は「MB」で取得してます。

SELECT 
	table_name,
	floor((data_length+index_length) / (1024 * 1024)) AS table_size,
    floor(data_length / (1024 * 1024)) AS table_data_size,
    floor(index_length / (1024 * 1024)) AS table_index_size ,
    table_rows,
    avg_row_length
FROM information_schema.tables 
WHERE table_schema = database() 
ORDER BY table_size DESC;

実行結果をみると、取得されていることが確認できます。