2011-09-06 33 views
6

私は、ユーザー用のテーブル(カウントフィールド*タイプ長に基づいて1人のユーザーあたり1KBのデータ)と、ユーザーに属する同じサイズの約100もの(1つの物につき0.5キロバイト)それは "ユーザ"テーブルと "物"テーブルにあります。MySQLデータベースサイズの見積もり

これは、ユーザーあたり約51kバイトのデータにつながっているようです。しかし、私はMySQLのために、私は102キロバイト/ユーザーに私を得るだろうインデックステーブルをカバーするためにそれを倍増する必要があります聞いたことは本当ですか? MySQLで考慮すべき他のデータ展開要因はありますか、または102kバイトが良い見積もりですか?

インデックスの要素(私は2だと思います)とストレージの効率(私も2だと思います)のほかに、MySQLのデータストレージ用の乗算器はありますか? MyISAMテーブルの上に共通である2〜3倍

+0

どのデータベースエンジンを使用していますか?実際の数字や見積もりが必要ですか? TABLE STATUSを使用すると、各テーブルの実際のサイズをバイト単位で取得できます。あなたはそれから外挿して数の現実的な見積もりを得ることができるかもしれません。 –

+0

私はストレージ用にinnodbを使用しています。 –

+0

http://dev.mysql.com/doc/refman/5.0/en/innodb-disk-management.htmlは、ある程度までInnoDBのディスク使用率について議論していますが、目的を知らずに、どのように最適な計算方法がわかりません。ディスク使用量を見積もります。 –

答えて

2

短い答え
サイズの増加は、4xが稀です。 InnoDBエンジンについて

すべて:
http://dev.mysql.com/doc/refman/5.1/en/innodb-storage-engine.html

InnoDBは、MyISAMテーブルとディスクスペース:
http://mysqlha.blogspot.com/2009/01/innodb-myisam-and-disk-space_16.html

MySQLのエンジンスペースの使用比較:
パート1:http://marksverbiage.blogspot.com/2008/02/mysql-engines-and-space-usage.html
パート2:http://marksverbiage.blogspot.com/2008/04/mysql-engines-space-usage-comparison.html

ここには物理的な行構造があります:

  • インデックス、InnoDBはすべてのセカンダリインデックスでPKを含んで覚えている:
    http://dev.mysql.com/doc/refman/5.0/en/innodb-physical-record.html

    変数や課題がたくさんあります。

  • 梱包キー(遅いですか?)
  • テーブルは冗長ですか?
  • ログ(バイナリログ、低速クエリログ、エラーログ...)を忘れないでください。
  • 行はNULL可能であると宣言されています。
  • どのような文字セットを使用していますか?
関連する問題