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
に一覧表示されます。 タブ(通常はデフォルトのタブ)。