sql >> データベース >  >> RDS >> Mysql

MySQLでデータベースのサイズを確認する方法

    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を使用することです。方法は次のとおりです。

    1. Schemasでデータベースに移動します ペイン
    2. 該当するデータベースにカーソルを合わせます
    3. データベース名の横にある小さな情報アイコンをクリックします。これにより、おおよそのサイズ、テーブル数、照合など、データベースに関する情報が読み込まれます。データベースのサイズは、Infoに一覧表示されます。 タブ(通常はデフォルトのタブ)。

    1. PgBouncerを使用したPostgreSQL接続プール

    2. Mysqlには、mssqlのように@@ ROWCOUNTと同等のものがありますか?

    3. SQLiteの文字列に改行を挿入する2つの方法

    4. SQL Server(T-SQL)でのTRANSLATE()関数のしくみ