2009-08-07 69 views
1

假设我正在将多个csv文件导入到mysql中。我怎样才能知道这个数据库需要多少空间(并且据我所知,它看起来与csv文件大小不一样)?如何知道我需要多少空间用于mysql数据库

+0

MySQL引擎是什么(MyISAM,InnoDB,HEAP等)?任何索引?任何特殊的数据类型或所有变种?任何特殊的字符集?多少个领域? – 2009-08-07 00:17:19

+0

它只是默认安装,所以我猜MyISAM?它只是文本。 – Phil 2009-08-07 00:28:11

回答

7

Back of the envelope estimation结合基本知识data type storage requirements

例如,CSV文件包含:

  • 30万客户;
  • 每位顾客都有名字,姓氏,地址和电话;
  • 通常,每个字符需要一个字节(加上一个字符)。
  • 估计大约200个字符将足以存储上述信息;
  • 300k * 200字节= 60M的数据;
  • 增加指标等约10-20%的开销;
  • 如果您预计增长,请在现在。假设一年内将达到60万;
  • 2 * 60M(倍增)* 1.2 = 144M。

而且你有一个估计。

1

只要导入例如。来自CSV的100行。 你会得到这个数据库的大小,包括索引所需的空间。 现在您可以从csv计算出您的估计行数。但是不要把这个数字看成是一个点,它只是一个近似值。

1

如果你想得到更准确的请参阅this MySQL Manual reference

请注意,如果您使用UTF-8等字符集(对于Unicode),则可能会在字符串中平均每个字符多个字节。

相关问题