Yunhao
V2EX  ›  数据库

关系型数据库存放 json 格式数据

  •  
  •   Yunhao · Jun 10, 2016 · 3664 views
    This topic created in 3798 days ago, the information mentioned may be changed or developed.

    在学习 mysql 这种关系型数据库的过程中有一个问题:当我们要存放的数据结构不确定,自然也无法确定数据库中表的结构时,可以将数据以 json 的方式存入,但是想请教大家的是,这种方式是否不被推荐,有什么弊端?在实际应用中是否可被使用?

    28 replies  •  2016-06-11 22:06:21 +08:00
    mofeiwo
    mofeiwo
    Jun 10, 2016
    1
    具体场景具体分析的。
    如果 json 的数据要被搜索的话,会很麻烦的
    ichou
    ichou
    Jun 10, 2016 via iPhone
    2
    不做查询条件没关系的

    5.7 已经开始支持 json 类型了
    momo1999
    momo1999
    Jun 10, 2016
    3
    还不如直接 mongodb
    lyragosa
    lyragosa
    Jun 10, 2016
    4
    不作为搜索条件无所谓,就是一个大 text 字段而已
    Yunhao
    Yunhao
    OP
    Jun 10, 2016
    5
    @mofeiwo 如果仅仅是为了存储某些信息,一旦插入,就不再做搜索和修改操作,是有使用价值的吧
    Yunhao
    Yunhao
    OP
    Jun 10, 2016
    6
    @shuax 嗯,我也寻找到了这个解决方式。只是好奇如果限制在关系型数据库里面,大家都是怎样解决这个问题的
    Yunhao
    Yunhao
    OP
    Jun 10, 2016
    7
    @ichou 啊哈,我发现我装的竟然还是 5.5.49 ,速去换来研究研究
    hxsf
    hxsf
    Jun 10, 2016
    8
    序列化啊,不一定要 json
    clino
    clino
    Jun 10, 2016 via Android
    9
    我经常这么干 当然就是只放不检索的数据
    yhxx
    yhxx
    Jun 10, 2016
    10
    最近刚做了一个
    直接存成了 text ,取的时候再 parse
    也不知道这么做好不好
    同求解惑
    misaka19000
    misaka19000
    Jun 10, 2016 via Android
    11
    感觉应该可以
    guoer
    guoer
    Jun 10, 2016 via iPhone❤️1
    12
    注意有并发更新导致赃数据的坑
    Sunyanzi
    Sunyanzi
    Jun 10, 2016❤️1
    13
    如果只是存储而不用于查询的话其实无所谓怎么存 ... JSON 或者序列化甚至直接空格分隔都可以 ...

    但如果涉及查询就比较麻烦了 ... 头两年我还在用笨办法 ... 或者建个几十列的大表或者外挂 MongoDB ...

    现在就简单很多了 ... 因为 MySQL 5.7 之后有了原生的 JSON 支持 ... 直接就可以一站式解决 ...

    我个人超喜欢这功能 ... 除了语法诡异点之外没别的缺点 ... 配合 JSON 那一系列函数和虚拟列简直所向无敌 ...
    loading
    loading
    Jun 10, 2016 via Android
    14
    我有一个应用就是存 json ,不过不是大东西。

    数据量大就不方便了,特别是检索里面的内容…
    tabris17
    tabris17
    Jun 10, 2016 via iPhone
    15
    如果你的 json 字段是整存整取的话无所谓,否则不推荐
    argsno
    argsno
    Jun 10, 2016
    16
    看需求, MySQL 里面存 json 数据一般就当做序列化处理
    aggron
    aggron
    Jun 10, 2016 via iPhone❤️1
    17
    Postgres 也有 jsonb 类型,可以被索引
    stevegy
    stevegy
    Jun 10, 2016
    18
    附议楼上的,你需要的是 postgres
    murmur
    murmur
    Jun 10, 2016
    19
    如果不需要检索的数据用 json 存也未必不可
    WangYanjie
    WangYanjie
    Jun 10, 2016
    20
    mysql 5.7 支持 json 字段了,并且可以按字段检索,效率不了解,实际中应该还没有使用的,我估计
    hxtheone
    hxtheone
    Jun 11, 2016
    21
    在公司里 mysql 只是用 text 存 json, 没有检索, 个人项目直接上 mongodb 了
    guyskk
    guyskk
    Jun 11, 2016 via Android
    22
    并发更新怎么解决?
    halfcoder
    halfcoder
    Jun 11, 2016
    23
    你需要最新的 X-plugin 和 X-API
    odirus
    odirus
    Jun 11, 2016
    24
    mongodb + 1
    lygmqkl
    lygmqkl
    Jun 11, 2016 via iPhone
    25
    拆开 mongodb
    novaeye
    novaeye
    Jun 11, 2016
    26
    pg 不是已经原生支持 json 类型了么~~~
    0915240
    0915240
    Jun 11, 2016
    27
    mysql5.7 JSON 类型支持虚拟列的建立,对于一些扁平化的 JSON 数据可以建立虚拟列然后在上面创建对应的二级索引,应付一些简单的查询还是可以的。
    dawncold
    dawncold
    Jun 11, 2016
    28
    能用关系型的尽量用关系,确实有些字段可以做成 jsonb 的,再说下去就是艺术圈里面的事儿了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5195 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 988ms · UTC 02:21 · PVG 10:21 · LAX 18:21 · JFK 21:21
    ♥ Do have faith in what you're doing.