关于 mysql 分表的方案设计,求助

xmpx310:我们有一个活动发放奖品的记录表,业务逻辑是一场活动 activity_id 会给用户 user_id 发放奖品 reward_id,随着活动场次的增多,给用户的奖品发放记录已经达到了亿级别的数据,现在准备分表,要支持一个查询一个用户领取的所有奖品,和一场活动的所有发放奖品用户列表两种常用查询,请问如何分表?

感觉水平分表案 user_id hash,mod 和按 activity_id hash,mod 都不太好支持这种场景,请问 v 友有什么更好的方案吗?

别的数据库 es,mongodb 暂不考虑,可以支持这种场景的 mysql 中间件可以考虑,但我参考了 mycat,感觉不太可行

lasuar:partition

xmpx310:@lasuar mysql 的分区表吗?

lasuar:@xmpx310 对

wangritian:冗余一下如何,用户和活动各自分表,一次领奖插 2 条记录

guoer:activity_reward_idx_xxx
user_reward_idx_xxx
reward_xxx

按三个维度分表。

关于 mysql 两表查询,三列字段相等的一个问题

0clickjacking0:目前情况是这样的,我有两张表,分别为 t1 和 t2,t1 中有字段( id,a,b,c ),t2 中有字段(name,a,b,c),想让这两表中的 a,b,c 字段相等时,查询出 id 和 name,我的查询语句如下select id,name from t1,t2 where(t1.a=t2.a and t1.b=t2.b …

关于 Mysql InnoDB 默认索引类型...

Akiyu:我之前一直看 Mysql 的 官方文档. 所以我一直认为是 InnoDB 的索引默认类型是 B-tree. (我还记得之前有次面试问我默认类型的时候, 我斩钉截铁说是 B-tree 时. 面试官楞了一下, 然后重复问了一次...) 但是今天突然在某处看到有人讨论 Mysql innoDB 默认索引类型为什么是 B+tree. 并且下面的回复都没有…

mysql 这种情况怎么查?

qaqLjj: 如图,怎么查询同时掌握了第一张表所有技能的员工呢? 也就是说,希望的结果如下: emp 神崎 相田

关于 mysql 中 as 的执行时间

nymrli:网上了解到 mysql 的执行顺序如下所示: (1) from (3) join (2) on (4) where (5) group by(开始使用 select 中的别名,后面的语句中都可以使用) (6) avg,sum.... (7) having (8) select (9) distinct (10) order by 那么在下面的 …

mysql 查询

shimingzhoudf:A 表有 1,2,3,4 个字段 我现在查询结果需要是这样 表名 中文名 1 2 3 4 数据 x x x x x ... ... .. .. .. .. 其实中文名就是 4 字段的值 我看别人这样写过: select 4 中文名, * where 表名; 但我自己用老报语法错误shimingzhoudf:语法是这样 select…