特定のテーブルで使用されるディスク上の領域を取得することは可能ですか?何百万人のユーザーがテーブルに格納されていて、すべてのユーザーおよび/またはその1人を格納するために必要な容量を知りたいとします。SQL Serverテーブルで使用されている領域の見分け方は?
更新:
私はすぐ後に必要なデータを取得するために、メモリ内にある特定のテーブルからいくつかのフィールドをキャッシュするのRedisを使用することを計画しています。だから私はどれくらいのスペースを取るかを計算する必要があり、それでメモリに収まるかどうかは分かりません。間違いなく、テーブルの内部で使用するデータ型によって異なりますが、テーブルが数十のフィールドで構成されている場合、これを1つ1つカウントするには時間がかかりすぎます。
SQL Serverには適していませんが、MySQLにはまさにそのような回答があります。How can you determine how much disk space a particular MySQL table is taking up?あなたはそれを確認して何を意味するのか確認できます。
これは、使用するデータ型によって異なります。 –
これは簡単にはできません。各列に必要な最小サイズを計算し、それらを合計して基本データの記憶域要件を調べることができますが、列に関連付けられた索引の領域に加えて、各列と行にもオーバーヘッドが発生します。そのテーブルのサイズの一部と見なすことができるデータベース自体に関連するオーバーヘッド、およびその他の要因が含まれます。とにかくそれとはどのような違いがありますか?あなたの懸念事項は、データベース全体のサイズであり、単一のテーブルや行ではありません。 –
SSMSをお持ちの場合は、オブジェクトエクスプローラでテーブルを右クリックし、[プロパティ]に移動して[ストレージ]ページを表示します。フィールドData spaceはそのテーブル内のデータのサイズですが、おそらくテーブルのオーバーヘッドコストの一部は含まれていません。 – zambonee