MySQL数据库大小估计

时间:2011-09-06 19:27:50

标签: mysql storage database-engine

我有一个应用程序数据库,其中包含一个用户表(每个用户基于计数字段* typelength的1kbyte数据),以及大约100个属于用户的相同大小的内容(每件0.5千字节),它位于“用户”表和“事物”表。

这似乎会导致每个用户大约51千字节的数据。但是,我听说对于MySQL,我应该加倍覆盖索引表,这会让我达到102kbytes / user这是真的吗?是否有任何其他数据扩展因素需要考虑MySQL,或者是一个很好的估计是102千字?

除了索引因子(我认为是2)和存储效率(我也认为是2)之外,MySQL中的数据存储还有其他任何乘数吗?

1 个答案:

答案 0 :(得分:2)

简短回答
尺寸比MyISAM增加2-3倍是常见的,4倍是罕见的。

关于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

这是物理行结构:
http://dev.mysql.com/doc/refman/5.0/en/innodb-physical-record.html

有很多变数和问题:

  • 索引,记住InnoDB在每个二级索引中都包含PK。
  • 你打包钥匙(慢)?
  • 桌子是多余的吗?
  • 不要忘记日志(二进制日志,慢查询日志,错误日志......)
  • 是否将行声明为可空,如果是,则每行为每个可空列添加一个额外字节。
  • 你在用什么字符集?