MariaDB入門 - MariaDBをPerlシステム開発で使う

MariaDBでテーブルの容量とデータベースの容量を確認する

MariaDBで、テーブルの容量とデータベースの容量を確認する方法です。

MariaDBでデータベースを運用していると、ログを書き込んでいるテーブルなど、容量がどんどん増えてきますね。

定期的に不要な過去のログのデータを削除したい場合など、テーブルの容量を確認できると便利です。

データベース全体の容量を確認できるコマンドを合わせて紹介します。

テーブルの容量を確認

テーブルの容量を確認するSQLです。データ容量、インデックス容量、それらを足した総容量を表示しています。テーブルの行数(table_rows)と、列の平均サイズ(avg_row_length)も合わせて表示しています。合計サイズの降順でソートしています。

# テーブルの容量を確認するSQL
select  
  table_name,
  floor((data_length+index_length)/1024/1024) as total_size_MB,
  floor((data_length)/1024/1024) as data_size_MB,
  floor((index_length)/1024/1024) as index_size_MB,
  table_rows,
  avg_row_length
from 
  information_schema.tables  
where
  table_schema=database()  
order by
  (data_length+index_length) desc
;

テーブルの容量を確認するSQLの出力結果のサンプルです。

+----------------------------+---------------+--------------+---------------+------------+----------------+
| table_name                 | total_size_MB | data_size_MB | index_size_MB | table_rows | avg_row_length |
+----------------------------+---------------+--------------+---------------+------------+----------------+
| book                       |           304 |          179 |           125 |     344669 |            547 |
| author                     |           157 |          104 |            52 |    1212336 |             90 |
| publisher                  |           138 |          138 |             0 |    2467485 |             58 |
+----------------------------+---------------+--------------+---------------+------------+----------------+

データベースの容量を確認

データベースの容量を確認するSQLです。テーブルの容量を合計することによって求めています。

# データベースの容量を確認するSQLDBのサイズ
select 
  table_schema, floor(sum(data_length)/1024/1024) as database_size_MB
from 
  information_schema.tables  
group by 
  table_schema 
order by       
  sum(data_length+index_length) desc
;

データベースの容量を確認する出力結果のサンプルです。

+--------------------+------------------+
| table_schema       | database_size_MB |
+--------------------+------------------+
| perlzemi           |              660 |
| kimoto_system      |               50 |
+--------------------+------------------+