首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为mysql中的邮件等用户处理读/未读的帖子

为mysql中的邮件等用户处理读/未读的帖子
EN

Stack Overflow用户
提问于 2011-07-05 12:19:50
回答 1查看 298关注 0票数 1

我需要处理每个用户的帖子的读/未读状态。现在写,我正在使用一个非规范化列来存储逗号分隔的user_ids。由于它是文本列,select查询的性能会降低。

现在,我想为所有用户指定一个常量,例如用户A - 1、用户B-2、用户C-4和用户D-8 (按位排列),并将其组合存储在整数column.So中,当用户A、C读取整数列的值时为(1+4) 5。并在条件中使用按位运算符查询读/未读的帖子。问题是不行。对于我可以作为组合存储的用户,比如62名用户在一列中的状态是有限制的。如果我必须进一步扩展,我可能会添加另一个BIGINT列来存储其他用户。

怎样才能最好地存储这些信息。以下是我需要做的行动。

当发布新的回复时,我必须将值更新为0(为每个回复未读)。当用户读取帖子时,

  1. 更新列中的状态。
  2. 为用户选择所有未读的帖子。

编辑:我试图间接地解决第三次行动。我在select列列表中添加了整数列,并在应用程序代码中查找用户的读状态,而不是作为mysql标准添加。无论如何,这不是一个解决办法。我还需要一个好的。

EN

回答 1

Stack Overflow用户

发布于 2011-07-05 12:35:08

我会这样做,创建一个这样的表格:

代码语言:javascript
复制
CREATE TABLE views(
    user_id bigint not null,
    post_id bigint not null,
    primary key(user_id,post_id
)

然后只需检查是否存在带有用户id和post id的记录。您也可以使用它来计算视图的数量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6582536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档