9

次の特性を持つデータベースのサイズを推定する最も正確な方法は何ですか?

  • MySQL
  • 3 つの列を持つ 1 テーブル:
    • id --> 大きい整数)
    • field1 --> varchar 32
    • フィールド 2 --> 文字 32
  • field2 にインデックスがあります

varchar 32 が完全に入力されている (32 文字すべて) と想定できます。各フィールドにデータが入力されていて、次のものが存在する場合、どれくらい大きくなりますか?

  1. 100万行
  2. 500万行
  3. 10億行
  4. 50億行

私のおおまかな見積もりは次のようになります: ID に 1 バイト、他の 2 つのフィールドにそれぞれ 32 ビット。大まかに作る:

  1 + 32 + 32 = 65 * 1 000 000 = 65 million bytes for 1 million rows
= 62 Megabyte

したがって:

  1. 62MB
  2. 310メガバイト
  3. 310 000 Mb = +- 302Gb
  4. 1 550 000 Mb = 1513 Gb

これは正確な見積もりですか?

4

3 に答える 3

11

私のおおまかな見積もりは次のようになります: ID に 1 バイト、他の 2 つのフィールドにそれぞれ 32 ビット。

あなたはを外れています。MySQLデータ型ストレージ要件のドキュメントを参照してください。特に:

  • ABIGINTは 1 ではなく 8 バイトです。

  • CHARまたは列に必要なストレージはVARCHAR、データベースで使用されている文字セット (!) によって異なりますが、 および の場合は少なくとも 32 バイト (ビットではありません!) にCHAR(32)なりVARCHAR(32)ます。

  • インデックスのサイズをまったく考慮していません。このサイズはデータベース エンジンによって異なりますが、絶対にゼロではありません。詳細については、 InnoDB の行構造に関するドキュメントを参照してください。

于 2013-07-13T07:12:36.623 に答える
3

MySQL Web サイトでは、ストレージ要件に関する非常に包括的な情報を見つけることができます: http://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html

また、utf8 を使用するかどうかにも依存します。

于 2013-07-13T07:00:17.737 に答える