关于大表consume的分表想法

由于正在做拆分,所以先记录下想法,待以后实践:

背景:consume表目前有3亿多,近半年来上涨了1个亿多的数据(由于做过索引和分区等优化,目前用户查询消费记录能200ms左右得到结果);

目的:通过分表的方式减少大表操作;

难点:已购买的不需要再次购买,所以要确保用户不会二次扣费;

方案:每自然月一个表,添加后缀_yyyyMM 来建立表。新建一张表来维护订阅关系,以解决二次扣费问题。表结构如下

用户id 索引内容 version
int 按bit存储 int
粗略的想法是通过bit存储用户订阅了哪些对象。

问题:bit存储非稀疏数据能力非常强,但是对于稀疏数据有点浪费空间。目前想到的可以用64进制来减少存储空间。

优化:找一种存储稀疏索引的数据结构来存储索引。

你可能感兴趣的:(分表,优化)