我正在为我的客户的客户建立一个数据库来发送电子邮件促销。该数据库将包括我的12个客户,每个客户平均拥有2100个客户。我想知道在我的每个客户的数据库中都有一个包含客户列表的表,或者我是否应该只制作一个大表更好?
每天都会询问客户。
我知道这是一个广泛的问题,但任何建议都会受到赞赏。
干杯,
查
答案 0 :(得分:5)
我的12个客户,每个客户都有 平均2100名客户
这是一个简单的调用:它是客户端和客户之间的一对多关系,那么为什么两个表之间没有外键关系呢? JOIN不会花太多钱。我建议将其标准化。行数很简单。
确保在客户表的电子邮件地址列中添加UNIQUE约束。
答案 1 :(得分:3)
12 * 2100 = 25200
记录每个现代数据库的花生(如果你提供适当的索引,那就是)。
所以把它变成一个大表(如果这样可以简化查询,它就是一种临时表)。
编辑:否则我会采用正常化路径作为duffymo建议。
答案 2 :(得分:3)
您不必担心数据库性能,但是关于您发送的电子邮件数量 - 25,200个电子邮件会给您的邮件服务器带来很大压力。
但是,保留单独的表可能还有另一个原因:您使用的电子邮件地址是来自不同客户的机密数据。按理说,保持单独的表是一个有助于防止混淆的附加层。此外,表(=客户端)可以通过这种方式轻松转储,删除和/或添加。
答案 3 :(得分:0)
或者您可以拥有一张大桌子和几张视图。
您可以直接从视图中插入,更新,删除。