在MYSQL中,最好有一个大表或许多小表

时间:2010-04-25 21:16:58

标签: mysql

我正在为我的客户的客户建立一个数据库来发送电子邮件促销。该数据库将包括我的12个客户,每个客户平均拥有2100个客户。我想知道在我的每个客户的数据库中都有一个包含客户列表的表,或者我是否应该只制作一个大表更好?

每天都会询问客户。

我知道这是一个广泛的问题,但任何建议都会受到赞赏。

干杯,

4 个答案:

答案 0 :(得分:5)

  

我的12个客户,每个客户都有   平均2100名客户

这是一个简单的调用:它是客户端和客户之间的一对多关系,那么为什么两个表之间没有外键关系呢? JOIN不会花太多钱。我建议将其标准化。行数很简单。

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

答案 1 :(得分:3)

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

所以把它变成一个大表(如果这样可以简化查询,它就是一种临时表)。

编辑:否则我会采用正常化路径作为duffymo建议。

答案 2 :(得分:3)

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

但是,保留单独的表可能还有另一个原因:您使用的电子邮件地址是来自不同客户的机密数据。按理说,保持单独的表是一个有助于防止混淆的附加层。此外,表(=客户端)可以通过这种方式轻松转储,删除和/或添加。

答案 3 :(得分:0)

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