在阅读了关于MySQL的外键和参考资料之后,我在脑海里想到了这个问题。
如果您运行电子邮件营销服务,并让您的用户创建联系人列表,这将包含大量记录,数千可能一百万或两个,是否更好的想法为每个用户的联系人列表提供一个表?或者是一个包含所有联系人的大表,并将其引用到所属的列表中?
如果您有50,000个用户,并且每个用户都有2个联系人列表,每封10,000封电子邮件,则您有1百万封电子邮件登录到1个单独的表中。在表上运行select查询就不会太强烈了......
SELECT * FROM name_of_the_big_table
WHERE belonging_contact_list = id_of_the_contact_list
答案 0 :(得分:1)
如果您有50,000个用户,并且每个用户都有2个联系人列表,每封10,000封电子邮件,则您有1百万封电子邮件登录到1个单独的表中。不会在该表上运行选择查询过于密集,如...
没有
您需要考虑MySql环境和查询的设计和实现,但处理您提到的规模本身并不是问题。
答案 1 :(得分:1)
一百万条记录对于数据库来说并不是一个很大的数字 - 它们意味着要处理这种情况。通过将所有联系人保留在一个表中,你可以更好地减少碎片 - 这样就不会有重复。
我更喜欢后一种选择。