我拥有包含数百万条记录(行)的表。 而在此表中,表中有一列名为mail_to。 对应于每条记录有一个邮件列表,然后邮件列表的信息存储在该列mail_to中。 在我系统的当前实现中,我将邮件列表存储为逗号分隔的邮件ID列表。在数据库/ MySQL中存储邮件列表
例如 考虑一个表,认购数据
| Column A | Column B |........ | mail_to |
| Record 1 | abc | | [email protected],[email protected] |
,如果我想要检索对应于记录邮件列表当前实现正常工作。但是如果我想搜索与[email protected]相对应的记录,查询速度太慢。我能想到
一个办法是
存储列A至n列认购数据 ,然后邮寄IDS在一个单独的表说用户电子邮件数据 和存储的信息的第三表加入。
但是,我不确定它是否会给我带来任何改进,因为每次查询时都会有2个连接。
任何人都可以建议一个更好的方式来存储这个邮件列表/帮助我评估哪两个更好。任何帮助,将不胜感激 。
谢谢
嗨GBN,感谢您的评论,但我建议的理由3张表是因为用户可以有多个订阅。我不知道如何用你的建议模式来做到这一点。 – 2012-02-02 17:13:11
@amitmodi:这是不明确的在您的问题... – gbn 2012-02-02 17:56:43
我同意,我没有明确提到它,但声明“但是,如果我想搜索记录对应于[email protected],查询是太慢了。 “指定可以有多个属于同一用户的记录。 – 2012-02-02 19:29:03