ホームページ >データベース >mysql チュートリアル >mysqlのすべてのテーブルのデータボリュームを照会する方法

mysqlのすべてのテーブルのデータボリュームを照会する方法

Emily Anne Brown
Emily Anne Brownオリジナル
2025-03-04 16:00:19396ブラウズ

mysqlのすべてのテーブルのデータボリュームを照会する

INFORMATION_SCHEMAこのクエリは、

>
<code class="sql">SELECT
    SUM(data_length + index_length) / (1024 * 1024) AS total_size_MB
FROM
    information_schema.TABLES
WHERE
    table_schema = 'your_database_name'; -- Replace 'your_database_name' with your database name</code>
(両方ともバイトで)の合計を

テーブルから選択し、特定のデータベースのためにフィルターを使用し、結果をメガバイト(MB)に変換して読みやすくします。 data_lengthをデータベースの実際の名前に置き換えることを忘れないでください。index_lengthinformation_schema.TABLESすべてのMySQLテーブルのリストを効率的に取得し、すべてのテーブルとそれぞれの行カウントのリストを効率的に取得するには、'your_database_name'データベースを再び活用できます。この方法は、各テーブルのクエリのオーバーヘッドを個別に回避し、多くのテーブルを持つデータベースの方がはるかに効率的になります。

値はMySQLによって提供される推定値であり、特に複雑な構造を持つ非常に大きなテーブルまたはテーブルの場合、完全に正確ではない場合があります。より正確なカウントのために、各テーブルで個別に

を使用する必要があります。これは、言及されているように、多数のテーブルでは効率が低くなります。

MySQLコマンド各テーブルのサイズを示すMySQLコマンドは、データベースの各テーブルのサイズを確認するには、INFORMATION_SCHEMAデータベースを使用できます。 これにより、各テーブルのデータファイルのサイズとインデックスが得られます。

<code class="sql">SELECT
    table_name,
    TABLE_ROWS
FROM
    information_schema.TABLES
WHERE
    table_schema = 'your_database_name'; -- Replace 'your_database_name' with your database name</code>

データベース内の各テーブルのtable_nameTABLE_ROWSinformation_schema.TABLES、およびTABLE_ROWSを提供します。 結果は、総サイズで下降順序で順序付けられ、最大のテーブルを簡単に識別できます。 これらのサイズは近似であり、実際のディスクスペースの使用量を完全に反映していない可能性があることを忘れないでください。COUNT(*)

データボリュームを要約するレポートを自動的に生成しますが、MySQLには包括的なレポートを直接生成するための組み込みコマンドがありません。ストアドプロシージャは、上記のクエリを実行し、出力をフォーマットします。スクリプトアプローチは、レポートの書式設定と配布に関してより柔軟性を提供します。

MySQLコネクタ/Pythonライブラリを使用したPythonスクリプトの概念的なアウトラインは次のとおりです。サイズ。

  1. 結果を処理します:結果を反復し、それらを構造化されたレポート(例:CSV、HTML、またはカスタム形式)にフォーマットします。定期的にデータボリュームレポートを生成するため。 スクリプトの詳細は、お好みのレポート形式と配信方法によって異なります。 データベースインタラクション中に潜在的なエラーと例外を処理することを忘れないでください。

以上がmysqlのすべてのテーブルのデータボリュームを照会する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。