![]() | 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 ![]() info 字段如果不常用和很多数据,我会拆开来,但如果就这样这么点字段,感觉性能差不不懂的 |
![]() | 7 decken 2016-01-24 15:30:49 +08:00 via Android ![]() @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 对性能是一点有影响的,但是 ,一般人遇到的应用,性能一定是最后考虑的问题。 |