可以说我有一个可获取所有电话联系人的应用程序。然后在数据库中检查以找到任何联系人正在使用同一应用程序。如果是这样,则将他添加为朋友。假设一个用户有1000个联系人,而数据库中的用户总数为100万。在那种情况下,它必须对照100万用户检查这1000个联系人?我还有其他方法可以进行快速查找吗?
最佳答案
您可以对照1M行表检查每个联系人,并重复1000次。那将是次优的。
我建议您创建一个包含1000个联系人的临时表,在每个联系人的unique_id上创建索引并为其建立索引,然后将该临时表与1M表连接起来,您可能已经在该表上对unique_id进行了索引。将结果存储在另一个表中(例如“ contacts_to_add”)并删除临时表。 (当您使用CREATE TEMPORARY TABLE
句子时,MySQL会自动执行此操作)
这应该相当快。
关于php - 如何设计一个带有电话联系人的mysql数据库,并查找使用同一应用程序的联系人?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24242884/