A表为活动模块,每个用户可以看到
B表为用户已浏览过的模块和其id
用户可能有几十万人现在要查某个用户未查看的活动信息
下面是我设计的2张表结构,但我觉得不是很合理,如果要查出某用户未查看过的活动信息需用用到子查询,这样效率太低
请问有更好的表设计结构嘛。

解决方案 »

  1.   

    1、不知道 zy_activity 表中的 user_id、user_name 的含义是什么
          如果是用户id、用户名的话就不合适了,用户有用户表,没必要把用户信息放到活动表中
          即便要放,也只是两者取其一
    2、不知道 zy_lookup 表中的 source、sourceid 的含义是什么
          如果是活动名、活动id,只需两者取其一,同理 user_id、user_name 也只需两者取其一
    3、zy_lookup 表对 `source`,`user_id`,`sourceid` 做了唯一索引,目的是什么呢?
         不让同一用户多次参与同一活动?