1
decken 2016-01-24 14:52:26 +08:00 via Android
看场景?方便还是性能
|
2
blue7wings OP @decken 我原先建了一张 user 表,发现字段不够用了,就想能不能加一张表,而不是加字段,就想到了这个问题。
|
3
LINAICAI 2016-01-24 15:10:15 +08:00
如果是我, addition 表用 id 做主健, user_id 外健。
|
4
blue7wings OP @LINAICAI 关联表有没有主键貌似没啥关系吧。
|
5
TangMonk 2016-01-24 15:13:22 +08:00
用 json 存储
|
6
LINAICAI 2016-01-24 15:14:04 +08:00 1
info 字段如果不常用和很多数据,我会拆开来,但如果就这样这么点字段,感觉性能差不不懂的
|
7
decken 2016-01-24 15:30:49 +08:00 via Android 1
@blue7wings 可以,最少改动最好了。量少无需太关注性能
|
8
blue7wings OP |
9
blue7wings OP @TangMonk 用 mongo?
|
10
cevincheung 2016-01-24 15:47:41 +08:00
@blue7wings
postgresql jsonb |
11
fredcc 2016-01-24 16:56:47 +08:00 via Android
如果生命周期中用户量只有十几万无所谓,如果是百万级别,还是好好考虑,联合查询稍微写得差点就瘫了
|
12
TangMonk 2016-01-24 17:20:27 +08:00
@blue7wings postgres 呗,支持的数据类型很多的,没有必要再去开个表
|
13
shot 2016-01-24 18:48:19 +08:00
不 提数据量就讨论性能都是耍流氓。
|
14
akira 2016-01-24 19:47:46 +08:00
影响肯定有,但是脱离实际场景讨论无价值。
|
15
blue7wings OP |
16
iMouseWu 2016-01-24 21:20:54 +08:00
看需求和自己的业务场景了。
这些字段本来应该是可以记录在一张表的,但是随着业务的发展,发现其中有 10 个字段在 90%的场景下是会同时出现的,剩下的 5 个字段(比如说地址信息),在极少数的业务场景下才会用到,那么楼主可以把你一张表的数据分成两张表存储,以减少原始表的大小。 |
17
msg7086 2016-01-25 06:00:08 +08:00
主要是内存占用优化。
很多时候数据库的数据会缓存在内存中。如果能把大量无用字段分出去的话,对提高内存有效利用率很有帮助。 |
18
yuriko 2016-01-25 08:10:12 +08:00
不知道自己理解的对不对, mongo 应该没有表的概念了,就是一堆键值对的数据库……
附表使用率不高的话是合理的,反之就会拖累效率,多表查询是个效率不怎么的事情…… 主键这东西和索引还是又一定关系的,对查询效率有影响 不是这方面的专家,说错轻喷 |
19
JamesRuan 2016-01-26 00:39:10 +08:00
对性能是一点有影响的,但是 ,一般人遇到的应用,性能一定是最后考虑的问题。
|