【问题标题】:How do i know how much space i need for mysql database我怎么知道mysql数据库需要多少空间
【发布时间】:2009-08-07 00:10:46
【问题描述】:

假设我将多个 csv 文件导入 mysql。我如何才能知道这个数据库需要多少空间(据我所知,它的大小似乎与 csv 文件大小不同)?

【问题讨论】:

  • 它是什么 MySQL 引擎(MyISAM、InnoDB、HEAP 等)?任何索引?任何特殊数据类型或所有 varchars?有什么特殊的字符集?有多少个字段?
  • 这只是默认安装,所以我猜是 MyISAM?这只是文本。

标签: mysql csv


【解决方案1】:

Back of the envelope estimation结合data type storage requirements的基础知识。

例如,CSV 文件包含:

  • 30 万客户;
  • 每个客户都有名字、姓氏、地址和电话;
  • 一般情况下,字符串的每个字符需要一个字节(加一个);
  • 估计大约 200 个字符就足够存储上述信息了;
  • 300k * 200 字节 = 60M 数据;
  • 为索引等增加大约 10-20% 的开销;
  • 如果您预计增长,请考虑现在。假设一年内达到 60 万;
  • 2 * 60M(加倍)* 1.2 = 144M。

你有一个估计。

【讨论】:

    【解决方案2】:

    只需导入例如。来自 CSV 的 100 行。 您将获得该数据库的大小,包括索引所需的空间。 现在您可以从 csv 中计算出您估计的行数。但不要把这个数字说得太重要,它只是一个近似值。

    【讨论】:

      【解决方案3】:

      如果您想获得更准确的信息,请参阅this MySQL Manual reference

      请注意,如果您使用 UTF-8(用于 Unicode)等字符集,则字符串中每个字符的平均字节数可能超过一个。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-04
        • 2016-10-06
        • 1970-01-01
        • 2014-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多