【发布时间】:2012-02-02 06:28:54
【问题描述】:
我有数百万条记录(行)的表。 在这个表中有一个名为 mail_to 的表。 每条记录对应一个邮件列表,然后邮件列表的信息存储在该列mail_to中。 在我系统的当前实现中,我将邮件列表存储为逗号分隔的邮件 ID 列表。
例如 考虑一个表格,订阅数据
| Column A | Column B |........ | mail_to |
| Record 1 | abc | | xyz@gmail.com,abc@gmail.com |
如果我想检索与记录对应的邮件列表,当前的实现工作正常。但是如果我想搜索abc@gmail.com对应的记录,查询太慢了。
我能想到的一种方法是
在订阅数据中将 A 列存储到 N 列 然后在单独的表格中显示邮件 ID,说 用户电子邮件数据 第三个表,存储join的信息。
但是,我不确定它是否会给我带来任何改进,因为我每次查询都会有 2 个连接。
谁能建议一种更好的方式来存储这个邮件列表/帮助我评估两者中哪个更好。任何帮助将不胜感激。
谢谢
【问题讨论】: