質問: SQL CEデータベース内の個々のテーブルとカラムのサイズを特定するにはどうすればよいですか? 私はデータベースを小さくすることを試みていますが、すべてのデータがどこに費やされているのかわかりません。 テーブルやカラムがどれくらいのサイズを使用するかを識別できるソフトウェアはありますか? スペースを取るテーブルのほかに他のものがありますか?ソフトウェアがそれをサポートしていますか?
回答: テーブル、索引などの継承コストを脇に置いておけば、実際には何もやりたいことはできないかもしれませんし、ディスクフットプリントを意味すると想定することもできません。 int型のテーブルがあり、VarChar(128)のintが4の場合、varchar(128)は132バイト*の行数になります。 これはダウンロード/インストール用ですか?もしそうなら、グッブルDBCC ShrinkDB、回復オプションが役立つかもしれません。 あなたがintentを単語に置き換えたり、varcharsを切り捨てたりすることは、あなたのコード内でうんざりすることを意味します。同様に正規化/非正規化は、それ自身のコストです。また、あなたがatentionを支払うファイルサイズは、デフォルトで常に成長しているので、これまでの容量で最大になるディスク上のmdbではなくバックアップです。あなたがそれを使って多くを開発していて、バックアップしていなければ、それはばかげて高いかもしれません。 右 まず、スペースを使い果たすたびに、新しいニーズに応じて1ページから16ページのサイズのコンパクトになります。 2番目に空き領域がなくなると、行を連続して格納するには不十分であり、コンパクトでなければCEはスペースを回復しません。したがって、多くの挿入を行い、次にいくつかの削除を行い、使用されたスペースは再利用されません。 だからあなたはこのコンパクトにしようとする前に、それ以外の場合は疑わしい価値があります コードで、またはSQL Serverマネージャを接続する 選択* INFORMATION_SCHEMA.Columnsから あなたのデータベースについて素敵な情報を提供します Data_typeとCharacter_Maximumに基づいて集計するクエリを作成するだけの問題です。しかし、それはあなたに行ごとの理論上の最大サイズを与えるでしょう。 NVarChar(50)は最大100バイトです(画像はギグです)が、それに「Fred」がある場合は8になります。 行サイズを取得したら、テーブルの数を掛ける 実際のサイズは、各行の実際の列ごとにデータを切り抜くことを意味し、CEでは困難な場合があります。 あるいは、コードですべてを行うこともできますが、 あなたがそれを叩いて、問題を私のゲストに戻したいのであれば、あなたは私のためにそれをするのに十分な金額を支払っていません。 :) 私はちょうどこれを見つけましたが、googleのために、おそらくそれはあなたが欲しいものをやります。 SQlコンパクトクエリアナライザ