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

MariaDBでデータベースのサイズを取得する

    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はまだそのような関数を実装していません。


    1. SQL Server(T-SQL)のdatetimeoffset値のタイムゾーンオフセットを変更する

    2. LOAD DATA INFILEを使用してMySQLテーブルにインポートするときにCSVファイルの列をスキップするにはどうすればよいですか?

    3. Oracleテーブル変数/配列から値を選択しますか?

    4. SQL Server実行プラン—それは何であり、パフォーマンスの問題にどのように役立ちますか?