MySQL 存储限制 - 如何避免问题

MySQL 存储限制 - 如何避免问题

我在 MySQL 中使用 MyISAM 表,我想知道使用哪些方法来避免出现文件大小限制行限制.
大型网站(例如 Facebook)如何处理这些限制?

答案1

你指的是特定的文件/行限制吗?根据MySQL 5.0 MyIASM 文档它支持最多 2^64 行和最多 2^63 字节的文件大小(在支持这么大文件的系统上)。‘表格已满’错误页面还指各种运行和编译时选项施加的几个大小限制以及如何增加它们。

但除此之外,像 Facebook 这样的前沿用户通常比我们大多数人更能负担得起奢侈品。例如,如果 MySQL 不支持他们需要的数据库大小,他们可以雇人修改 MySQL 源代码,或者直接聘请 Sun/Oracle 来做这件事。事实上,MySQL 目前拥有如此大的行/文件大小的原因可能正是由于像 Facebook 这样的大型客户。

答案2

FaceBook、Slashdot 和 LiveJournal 等网站拥有多台服务器并使用各种分区、分片和缓存技术,实际上,这些技术会在数据大小限制出现之前很久就在服务器上分割表。

对于不太繁忙的情况,绝对数据大小是平均行大小乘以行数的函数。如果您的行中列数很少,则可以调整 MyISAM 用于计算该值的估计值。此外,命令(例如)SHOW TABLE STATUS显示有关 MyISAM 表数据使用情况的一些指标。这些数字是经验丰富的管理员估计数据参数是否需要更改的方式。

相关内容