Home  >  Q&A  >  body text

几百万数据的群聊要怎样分表?

有两张表,群表,群成员表,现在成员表比较大想进行分表

想到有两种分表方法,按人分或按群分

如果按人分,查询哪个人加入过哪个群很容易,但查询群有多少人报名就要用UNION去查了

如果按群分,查询群有多少人报名很容易,但查询哪个人加入过哪个群就要用UNION去查了

请问有什么好的方案可以令上面两个需求都可以高效查询,分表是为了减少查询压力,但用UNION又会增加查询压力,违背分表的初衷了


phpcn_u233phpcn_u2332678 days ago1287

reply all(2)I'll reply

  • 数据分析师

    数据分析师2017-10-01 00:55:25

    How to divide a group chat with millions of data into tables? -PHP Chinese website Q&A-How to divide a group chat with millions of data into tables? -PHP Chinese website Q&A

    Let’s take a look and learn.

    reply
    0
  • 阿神

    阿神2017-03-18 17:05:10

    推荐使用hash方式分表,根据用户id进行hash分表,假设你有1亿的聊天记录,那么不到100张表也够了。

    reply
    0
  • Cancelreply