MariaDBでは、information_schema.tables
にクエリを実行できます データベースのサイズを確認するためのテーブル。
このテーブルは、サーバー上の各データベースのテーブルとビューに関する情報を返します。結果をグループ化し、各データベースの合計金額を返すことができます。
例
サーバー上のすべてのデータベースのサイズを返すクエリは次のとおりです。
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables
GROUP BY table_schema;
結果:
+--------------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +--------------------+---------------+-------------+ | information_schema | 212992 | 0.20 | | KrankyKranes | 131072 | 0.13 | | Music | 81920 | 0.08 | | MyDB | 32768 | 0.03 | | mysql | 4972544 | 4.74 | | performance_schema | 0 | 0.00 | | PetHouse | 81920 | 0.08 | | Zap | 37460 | 0.04 | +--------------------+---------------+-------------+
T information_schema.tables
表は、さまざまな非TEMPORARY
に関する情報を示しています テーブル(Information Schema
のテーブルを除く データベース)およびサーバー上のビュー。
ここでは、それらをデータベース(table_schema
)でグループ化しました。 )そしてサイズについていくつかの計算を実行しました。
単一のデータベース
WHERE
を使用して1つのデータベースに絞り込むことができます 条項:
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables
WHERE table_schema = 'KrankyKranes'
GROUP BY table_schema;
結果:
+---------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +---------------+---------------+-------------+ | krankykranes | 131072 | 0.13 | +---------------+---------------+-------------+
MySQLでは、sys.FORMAT_BYTES()
を使用できます データ長変換を行う関数ですが、この記事の執筆時点では、MariaDBはまだそのような関数を実装していません。