高效搜索巨大的MySQL数据库

时间:2013-10-22 12:03:41

标签: android mysql search indexing

我有3亿人的联系方式记录。我打算将这些数据存储在MySQL数据库中。我将开发Android应用程序,它将接受手机号码,并将显示与此手机号码匹配的人员的详细信息。如果我将整个数据存储在单个表中,仅仅在移动号码字段上有索引就足够了吗?或者根据手机号码将数据分成多个表格会很好吗?我想将数据分成多个表格:


表1将包含手机号码以91开头的记录

表2将包含手机号码以92开头的记录

表3将包含手机号码以93开头的记录




某某。
我这样想是因为我们可以减少近70%的比较。
请就此提出宝贵的意见和建议。 在此先感谢。

2 个答案:

答案 0 :(得分:0)

似乎用关键字创建单独的表会很有效。此外,您可以参考此主题以获取详细信息,

Most efficient way to search a database with more than a billion records?

答案 1 :(得分:0)

300 M的记录 - 可以安静地存在于一张桌子中。 在计划拆分数据之前 - 在硬件上尝试并检查结果。 如果1表的性能不足 - 您还可以在mysql Db中尝试“分区”,这将简化您的应用程序并为您提供单独表的性能。