动态表单,优先用纵表还是 Json? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
tairan2006
V2EX    MySQL

动态表单,优先用纵表还是 Json?

  •  
  •   tairan2006 2020-05-24 21:44:19 +08:00 5431 次点击
    这是一个创建于 2039 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在用的是 MySQL8.0.20 ,目前项目需要引入动态表单适配不同客户的需求。前端目前准备选用`vue-ele-form-generator`这个开源项目(感谢作者)。

    后端这边其实可选方案不多,都是老一套。要么用纵表,要么用 Json ;要么就是弄个无意义的 fieldname,再加一个表做映射。

    考虑到 MySQL8 的 Json 已经比较成熟了(当然还是不如 pg 和 Mongo ),我个人倾向于选 Json 方案,不知道各位老哥有啥建议没?指点一下。
    17 条回复    2020-05-25 11:50:06 +08:00
    2kCS5c0b0ITXE5k2
        1
    2kCS5c0b0ITXE5k2  
       2020-05-24 22:41:01 +08:00
    看下这个数据要不要用来 查询 是否经常更新
    tairan2006
        2
    tairan2006  
    OP
       2020-05-24 22:45:40 +08:00
    这种表单更新频率很低,就是提交审核的,审核通过基本就不会变了。
    @emeab
    HuberyPang
        3
    HuberyPang  
       2020-05-24 23:10:03 +08:00 via Android
    收藏下看有啥好的方案,如果这些表单录入的数据还要导出来,有什么好的方案。
    flyhelan
        4
    flyhelan  
       2020-05-24 23:34:10 +08:00
    json 方便。
    2kCS5c0b0ITXE5k2
        5
    2kCS5c0b0ITXE5k2  
       2020-05-24 23:37:03 +08:00
    @tairan2006 用 json 就比较灵活 但是如果突然要用这些字段来查数据会比较麻烦。。
    tairan2006
        6
    tairan2006  
    OP
       2020-05-24 23:48:07 +08:00
    @emeab 查询其实还好,常用字段加虚拟列做索引,不常用的话就同步到 es 里搜索吧…
    Felldeadbird
        7
    Felldeadbird  
       2020-05-25 01:52:25 +08:00 via iPhone
    8.0 看看 json 的 特性是不是满足 大部分需求。这很关键…现在生产环境有一些设计用了 json,可版本在 5.5……各种查询困难死我了…
    dodo2012
        8
    dodo2012  
       2020-05-25 03:36:57 +08:00
    我用 json,不过用的 pg
    xuanbg
        9
    xuanbg  
       2020-05-25 08:41:28 +08:00
    工作流表单用 json 存最合适不过。
    feiandxs
        10
    feiandxs  
       2020-05-25 09:36:45 +08:00
    还有一个做法,我们根据不同的需求自动初始化出不同字段的表。。。
    tairan2006
        11
    tairan2006  
    OP
       2020-05-25 11:10:44 +08:00
    @feiandxs 那表太多了,而且就算是同一个客户,他的需求也会变…
    oALwp9HWJ28EJ3be
        12
    oALwp9HWJ28EJ3be  
       2020-05-25 11:23:30 +08:00   1
    个人倾向于 json,之前有个需求,根据不同场景配置不同举报表单,使用的就是 json 。


    vZexc0m
        13
    vZexc0m  
       2020-05-25 11:27:56 +08:00
    @vanleon #11 请问 展示 json 的是什么软件
    oALwp9HWJ28EJ3be
        14
    oALwp9HWJ28EJ3be  
       2020-05-25 11:31:13 +08:00
    wysnylc
        15
    wysnylc  
       2020-05-25 11:33:41 +08:00
    使用倒装表也就是你说的纵表
    json 存在查询困难问题而且如果没有使用支持 json 的数据库版本就很难受
    lewis89
        16
    lewis89  
       2020-05-25 11:46:29 +08:00
    @vZexc0m #13 目测 命令行 jq
    fumichael
        17
    fumichael  
       2020-05-25 11:50:06 +08:00
    @vZexc0m #13 maybe 是一个网站,代码生成图片
    https://carbon.now.sh/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2955 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25s UTC 12:19 PVG 20:19 LAX 04:19 JFK 07:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86