需求: 多选题,不定数量的多个选项 方案 1:每个选项一列,a,b,c,d,e,f,g 方案 2:一列,用 json 存多个选项 leader 说,json 不是面向对象的,取出来之后,还要进行处理。但是我感觉 json 比较适应业务需求变化 是否还有更好的方案?
1
sadfQED2 2022-08-15 10:12:07 +08:00 via Android
如果是最新版本的 MySQL ,可以考虑 json
如果是百年不变的 mysql5.7 ,那还是老老实实的多列吧 |
2
Vegetable 2022-08-15 10:21:29 +08:00
两张表呗,问题表和选项表,一对多。
|
3
x66 2022-08-15 10:29:11 +08:00 2
二进制,每一位表示一个选项,最后转换为 10 进制或者 16 进制来存储。
89(0x53) -> 1011001 -> acdg |
4
dcsuibian 2022-08-15 10:31:16 +08:00
个人也觉得 json 不好,但使用得不少。主要是因为业务太多变了,每次都增减列的话相当麻烦。
|
5
corningsun 2022-08-15 10:39:52 +08:00
多列吧,扩展起来更方便。
比如:下面几个需求,你 json 改起来就麻烦了。 1 删除 c 选项 2 增加 y 选项 3 给选项自定义排序 |
6
psx2019 2022-08-15 10:48:14 +08:00
这种需求直接抽取共性列转行(加一个选项表的附表)就行了
|
7
mejee 2022-08-15 10:52:20 +08:00
json 一把梭就行了
|
8
y051313 2022-08-15 11:00:20 +08:00
类似的系统,我们是直接用的 json 存。
“取出来之后,还要进行处理。” 还要处理什么?答案吗? |
9
wlkq 2022-08-15 11:48:43 +08:00
要两列:key , value
横向扩展,变为竖向扩展。key 的值是多变的,存储什么都可以 |
11
wonderfulcxm 2022-08-15 12:04:22 +08:00 via iPhone 1
没有标准答案吧,得看需求,如果答案需要变来变去,一会 123 ,一会 ABC ,json 更好,比如如果要分析答案,比如哪个字数更多(奇怪的需求)那统计列比较方便。
|
12
kaedeair 2022-08-15 14:16:17 +08:00
分两张表,一张问题表,一张选项表,选项关联到问题的外键
|