8000万个地址。索引还是分区?

时间:2014-10-07 21:22:49

标签: mysql

我有一张表(innodb),有大约8000万个地址(+电话)。我将更新另一个包含~750k记录(电话和状态)的表,其中包含匹配的地址。似乎最好的方法是按州分组数据。在这种情况下,索引或分区是否更可取?我从来没有使用这么大的数据集,因此我们非常感谢正确方向的一些指示。

此外,一旦我在手机/状态上匹配,我可能需要回圈并尝试仅根据手机进行重新匹配以获取任何手机/状态不匹配。

1 个答案:

答案 0 :(得分:2)

假设您在适当的硬件上运行,那么对于MySQL(或任何现代的RDBMS)来说,有8000万行并不大。

我建议使用适当的指数。在这种情况下,适当的索引将是一个(s),用于定位您尝试通过电话/状态匹配的行。不需要分区。

在任何情况下,除非您拥有多个独立的存储分区(例如,单独的物理硬盘驱动器等),否则分区不会提供任何性能优势。

另一方面,在开始操作之前探索数据质量。您可能需要清理数据。例如,一个表可能包含给定的电话号码(234)555-1212,另一个表可能包含2345551212。​​