MySQLでは、information_schema.tablesにクエリを実行できます データベース内のテーブルに関する情報を返すテーブル。このテーブルには、データ長、インデックス長、および照合、作成時間などの他の詳細に関する情報が含まれています。このテーブルの情報を使用して、特定のデータベースまたはサーバー上のすべてのデータベースのサイズを見つけることができます。
MySQL Workbench GUIを使用して、データベースに関する詳細(サイズを含む)を検索することもできます。
この記事では、両方の方法の概要を簡単に説明します。
コード例
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 | 0 | 0.00 | | Music | 98304 | 0.09 | | mysql | 2506752 | 2.39 | | performance_schema | 0 | 0.00 | | sakila | 6766592 | 6.45 | | Solutions | 16384 | 0.02 | | sys | 16384 | 0.02 | | world | 802816 | 0.77 | +--------------------+---------------+-------------+
この例では、サイズをバイト単位とメビバイト(MiB)でリストしましたが、表示方法を選択できます。
もちろん、必要に応じていつでも特定のデータベースに絞り込むことができます。 WHEREを追加するだけです データベースの名前を持つ句:
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 = 'sakila';
結果:
+---------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +---------------+---------------+-------------+ | sakila | 6766592 | 6.45 | +---------------+---------------+-------------+
FORMAT_BYTES()関数
sys.FORMAT_BYTES()を使用できます サイズをメビバイト、キビバイトなどに変換する手間を省くための関数。この関数は値を受け取り、それを人間が読める形式に変換し、値と単位インジケーターで構成される文字列を返します。変換される値は、値のサイズによって異なります(したがって、結果はbytesになる可能性があります。 、KiB (キビバイト)、MiB (メビバイト)、GiB (ギビバイト)、TiB (テビバイト)、またはPiB (ペビバイト)。
FORMAT_BYTES()を使用するように前の例を書き直した例を次に示します。 機能:
USE Music;
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
sys.FORMAT_BYTES(SUM(data_length + index_length)) 'Size (Formatted)'
FROM information_schema.tables
GROUP BY table_schema; 結果:
+--------------------+---------------+------------------+ | Database Name | Size in Bytes | Size (Formatted) | +--------------------+---------------+------------------+ | information_schema | 0 | 0 bytes | | Music | 98304 | 96.00 KiB | | mysql | 2506752 | 2.39 MiB | | performance_schema | 0 | 0 bytes | | sakila | 6766592 | 6.45 MiB | | Solutions | 16384 | 16.00 KiB | | sys | 16384 | 16.00 KiB | | world | 802816 | 784.00 KiB | +--------------------+---------------+------------------+
MySQL Workbench
データベースサイズを見つける別の方法は、MySQLWorkbenchGUIを使用することです。方法は次のとおりです。
Schemasでデータベースに移動します ペイン- 該当するデータベースにカーソルを合わせます
- データベース名の横にある小さな情報アイコンをクリックします。これにより、おおよそのサイズ、テーブル数、照合など、データベースに関する情報が読み込まれます。データベースのサイズは、
Infoに一覧表示されます。 タブ(通常はデフォルトのタブ)。