我擁有包含數百萬條記錄(行)的表。 而在此表中,表中有一列名爲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