需要重新做一个会员系统,一个会员表有30多个字段,有一半是不常用到的, 另外会员表里面有很多僵尸会员,啰嗦了那么多,开始正式话题:
会员表是按照办卡日期或ID进行水平分表好,
还是按照常用字段和不常用字段进行垂直分割的好,?
其实你说的就是分区的思想,垂直分区和水平分区,水平分区是指将表的数据行存储在不同的partition中,垂直分区是指将table拆分成多个表,并通过PK 链接在一起。
垂直分区的出发点是column 太宽,并且不常用,如果存在这样的column,垂直分区效果好;
水平分区的出发点是有些row 不常用,这样,将常用的rows 存储在一个partition中,使查询的范围缩小到一个partition中,减少query的时间消耗,提高性能。
基于这两点,你可以权衡一下