首页 新闻 搜索 专区 学院

会员表 垂直分表和水平分表

0
悬赏园豆:5 [已解决问题] 解决于 2016-01-26 11:31

需要重新做一个会员系统,一个会员表有30多个字段,有一半是不常用到的, 另外会员表里面有很多僵尸会员,啰嗦了那么多,开始正式话题:

会员表是按照办卡日期或ID进行水平分表好,
还是按照常用字段和不常用字段进行垂直分割的好,?

maanshancss的主页 maanshancss | 菜鸟二级 | 园豆:303
提问于:2015-12-25 14:13
< >
分享
最佳答案
0

其实你说的就是分区的思想,垂直分区和水平分区,水平分区是指将表的数据行存储在不同的partition中,垂直分区是指将table拆分成多个表,并通过PK 链接在一起。

垂直分区的出发点是column 太宽,并且不常用,如果存在这样的column,垂直分区效果好;

水平分区的出发点是有些row 不常用,这样,将常用的rows 存储在一个partition中,使查询的范围缩小到一个partition中,减少query的时间消耗,提高性能。

基于这两点,你可以权衡一下

 

收获园豆:4
悦光阴 | 老鸟四级 |园豆:2251 | 2016-01-12 19:50
其他回答(1)
0

感觉你可以两者同时进行嘛,反正是新的。

可以参考:

数据库Sharding的基本思想和切分策略

不过你这一开始就分表,有过度设计的嫌疑。

收获园豆:1
liqipeng | 园豆:1160 (小虾三级) | 2015-12-25 21:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册