特定の結果セットが使用するディスク容量を取得することはできますか? ユーザーのデータベース ディスク使用量を計算するために、ユーザー ID = X のテーブルから選択したいとしますか? 理想的には、結果セットのディスク使用量をプログラムで把握したいと考えています。
3 に答える
これは、データ型から、またはすべてのデータが 1 つのテーブルから取得された場合は行の統計から計算できます。
データ型: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
行の統計: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
もう 1 つの方法は、GROUP_CONCAT()
関数を使用して、データのテキスト形式のサイズの文字列を作成し、それを取得することLENGTH()
です。
Javaのオブジェクトとしてではなく、データベースのサイズに実際に興味があります。
その場合、ベンダーのデータベース実装が何らかの方法で公開しない限り、この情報を取得する方法は絶対にありません。(そして、そうしているベンダー データベースは聞いたことがありません。)
最善の方法は、ベンダー データベースがディスク上のデータをどのように表しているかについての深い知識に基づいて見積もりを行うことです。また、一般的なデータベースが提供するさまざまなチューニング オプションを考えると、信頼できる見積もりを取得するだけでも、実装には多くの作業が必要になります。
これを行うには、インストルメンテーションを使用できます。