根据您的经验,在 Q9650 CPU(4 核,3.0G)和 8G RAM 的服务器上,MySQL 可以有效处理 MyISAM 表中的行数上限是多少。
我目前有一个包含 1500 万行的表。这是相当快的。如果规模增加到 10 亿行,我是否需要将其划分为 10 个表,每个表 1 亿行?
mem*_*oxy 15
我不会担心可以将索引保存在内存中的机器上有 10 亿行的应用程序性能。如果你真的想达到 10 亿行,你首先必须做一些数学计算:
接下来,进入您的应用程序正常运行时间要求。
在担心性能之前,我会更担心这种规模的多 GB 表文件的数据生命周期和数据管理。通过复制,您可以弥补很多性能。保持数据健全并从即使是小灾难(例如坏内存引起的损坏)中恢复更有可能首先给您带来麻烦。
我还鼓励您使用您拥有的表格 - 并向其中添加 1B 行测试数据。这对于观察您的系统发生的情况非常有见地。针对这个新的庞大数据集对您的查询运行一些 EXPLAIN。Time 备份和恢复需要多长时间。您可能需要调整一些要求。