2010-04-25 53 views
1

我正在为我的客户的客户建立一个数据库来发送电子邮件促销信息。该数据库将包括我所有的12个客户,每个客户平均有2100个客户。我想知道是否最好在我的每个客户端都有一张表格,其中包含客户名单,或者我应该制作一张大桌子...在MYSQL中,最好是有一张大桌子还是很多小桌子

客户将每天进行查询。

我知道这是一个广泛的问题,但任何意见将不胜感激。

干杯,

回答

3

12 * 2100 = 25200记录这是每一个现代数据库花生米(如果提供适当的索引,这是)。

因此,建立一个大表(如果这将缓解查询,它是一种临时表)。

编辑:否则我会采用duffymo建议的标准化路径。

+0

我最终为它们使用了一张大桌子。有几个回头客,但在25000之外,只有大约10个。 – 2011-05-02 20:08:16

+0

对于使用SendGrid的邮件服务器 - 他们踢屁股 – 2011-05-02 20:08:35

5

我的客户12和他们每个人都有 平均2100个客户

这是一个简单的呼叫:它的客户和消费者之间的一个一对多的关系,所以为什么不能有两个表之间有外键关系? JOIN不会花费太多。我建议正常化它。行数是微不足道的。

确保向客户表中的电子邮件地址列添加了UNIQUE约束。

3

您不必担心数据库性能,但是您发送的电子邮件数量 - 25,200电子邮件会给您的邮件服务器带来很大压力。

可能有另一个原因来保留单独的表,但:您使用的电子邮件地址是来自不同客户端的机密数据。理所当然地保留单独的表格是帮助防止混淆的附加层。此外,表格(=客户端)可以轻松地倾倒,丢弃和/或添加。

0

或者你可以有一个大桌子和几个视图。
您将可以直接从视图中插入,更新或删除。

相关问题