MySQL 数据库大小估算

发布于 2024-12-03 03:41:54 字数 309 浏览 1 评论 0原文

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

这似乎会导致每个用户产生大约 51kb 的数据。但是,我听说对于 MySQL,我应该将其加倍以覆盖索引表,这将使我达到 102kbytes/user 这是真的吗? MySQL 是否还需要考虑其他数据扩展因素,或者 102 KB 是一个不错的估计吗?

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

I have an application database with a table for users (1kbyte of data per user based on counting fields * typelength), and about 100 things of the same size belonging to a user (0.5 kbyte per thing), and it is in a "user" table and a "thing" table.

That would seem to lead to about 51kbytes of data per user. However, I have heard that for MySQL, I should double it to cover index tables, which would get me to 102kbytes/user Is that true? Are there any other data expansion factors to consider for MySQL, or is 102 kbytes a good estimate?

Besides the indexing factor (which I think is 2) and the storage efficiency (which I also think is 2), are there any other multipliers for data storage in MySQL?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情话已封尘 2024-12-10 03:41:54

简短回答
大小比 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。
  • 你在收拾钥匙吗(慢)?
  • 该表是否多余?
  • 不要忘记日志(二进制日志、慢速查询日志、错误日志......)
  • 行是否声明为可为空,如果是,则为每行的每个可为空列添加一个额外的字节。
  • 你使用什么字符集?

Short answer
Size increase 2-3x over MyISAM is common, 4x is rare.

Everything about the InnODB engine:
http://dev.mysql.com/doc/refman/5.1/en/innodb-storage-engine.html

InnoDB, MyISAM and disk space:
http://mysqlha.blogspot.com/2009/01/innodb-myisam-and-disk-space_16.html

MySQL engines space usage comparison:
Part1: http://marksverbiage.blogspot.com/2008/02/mysql-engines-and-space-usage.html
Part2: http://marksverbiage.blogspot.com/2008/04/mysql-engines-space-usage-comparison.html

Here's the physical row structure:
http://dev.mysql.com/doc/refman/5.0/en/innodb-physical-record.html

There are a lot of variables and issues:

  • Indexes, remember InnoDB includes the PK in every secondary index.
  • Are you packing keys (slow)?
  • Is the table redundant?
  • Don't forget about the logs (binary log, slow query log, error log ....)
  • Are rows declared as nullable, if so add an extra byte per nullable column per row.
  • What charset are you using?
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文