2009-08-07 5 views
1

私は複数のCSVファイルをMySQLにインポートしているとしましょう。このデータベースにどれだけのスペースが必要なのかを知るにはどうすればいいですか(また、CSVファイルのサイズと同じサイズではないようです)。どのように私はmysqlデータベースのために必要なスペースを知っています

+0

MySQLエンジンは何ですか(MyISAM、InnoDB、HEAPなど)?任意のインデックス?任意の特殊なデータ型またはすべてのvarchars?任意の特殊文字セット?いくつの畑? –

+0

それはちょうど私がMyISAMを推測しているので、ちょうどデフォルトのインストールですか?それは単なるテキストです。 – Phil

答えて

7

Back of the envelope estimationdata type storage requirementsという基本的な知識と組み合わされています。例えば

、CSVファイルが含まれています

  • 30万の顧客を。
  • 各顧客には、氏名、住所、電話番号が記載されています。
  • 一般に、文字列には1文字につき1バイト(1つに加えて)が必要です。
  • 上記の情報を保存するのに十分な文字数は約200文字です。
  • 300k * 200バイト= 60Mのデータ;
  • インデックスなどに約10〜20%のオーバーヘッドを追加します。
  • 成長が予測される場合は、になります。になります。 1年以内に600kになるとしましょう。
  • 2 * 60M(倍増)* 1.2 = 144M。

お見積もりがあります。

1

ただインポートします。 CSVから100行。 インデックスに必要なスペースを含めて、このdbのサイズを取得します。 これで、csvから推定行まで計算することができます。しかし、この数字をポイントにとらえてはいけません。ちょうど近似です。

1

詳細はthis MySQL Manual referenceを参照してください。

UTF-8(Unicode用)などの文字セットを使用している場合は、文字列内の文字あたり1バイト以上平均している可能性があることに注意してください。

関連する問題