要发送邮件到1000个邮件地址,我想保存发送历史记录,历史记录表怎么设计?
1 每个邮件地址对应一个相同信息
2 发送信息内容单独一个表,另外设计一个表存放发送邮件和发送信息表相关联
3 还是用一条记录,设计一个字段存放所有的邮件地址?1 应该不可行 2 如果一天我发送了几十w条数据出去,那这样做一边表关联数据库不是要查死 3 如果发送的邮件地址很多又如何处理可能我一下发个10w个邮件地址,字段不是不够长了?(先假设我可以抄送10w个邮件地址)

解决方案 »

  1.   

    地址本一个表(id,address)
    已发送邮件一个表(这里地址引用地址的id)
      

  2.   

    decimal 字段长度够你用的拉
      

  3.   

    个人看法是建3个表.似乎应该是多对多的关系
    一个是表存邮件内容(mailID+mailContent),mailID做主键
    一个存邮件地址(addressID+address),addressID做主键
    一个存对应关系(mailID+addressID),mailID+addressID做主键
    再建立前2个表和第三个表的主外键关系.
      

  4.   

    但是也有可能发10多w条记录出去,一天可能发几百次.如果说建三个表的话,光发一次就得往数据库做20多w次的insert草组哦,这样对性能的消耗太厉害了吧
      

  5.   

    邮件应该是发给固定人群吧!只要没有新的收件人,那也就不需要增加邮件地址表的记录了。
    而你新发一封邮件,都需要该邮件的内容吧,也就是邮件信息表增加一条记录,然后那个Link表增加该邮件ID和收件人ID的纪录就行了吧!比如,发了一封新邮件给10w人,需要增加10w零1条记录。