shanghai1943
V2EX  ›  问与答

想问下大家在生产中有用 MySQL8 里的 JSON 特性了么

  •  
  •   shanghai1943 · Dec 30, 2021 · 3758 views
    This topic created in 1781 days ago, the information mentioned may be changed or developed.
    MySQL5.7 开始支持 JSON 数据类型了,8 里面也支持了 JSON 字段的索引,不知道各位老哥在生产环境中有用过么?效果如何?

    谢谢。
    15 replies  •  2021-12-31 14:29:29 +08:00
    sadfQED2
    sadfQED2
    Dec 30, 2021 via Android
    1
    生产环境 mysql5.6
    mikulch
    mikulch
    Dec 30, 2021
    2
    这个特性具体什么用处?
    shanghai1943
    shanghai1943
    OP
    Dec 30, 2021
    3
    @mikulch 从网上的帖子来看,可以把一些不太重要的信息或者需要经常扩展的信息放在 JSON 字段里,省去声明字段的麻烦,可以利用自带的 JSON 函数对里面的字段进行查询过滤。
    shanghai1943
    shanghai1943
    OP
    Dec 30, 2021
    4
    @sadfQED2 连 5.7 都还没么。。
    vate32
    vate32
    Dec 30, 2021
    5
    用了,主要存储一些不怎么重要也许会变的字段,比如过滤信息啥的。mybatis-plus 可以直接映射,序列化和反序列化基本不需要操心
    @TableField(value = "filter_info", typeHandler = JacksonTypeHandler.class)
    private FilterInfo filterInfo;
    // filter_info 在表里就是 json 类型
    shanghai1943
    shanghai1943
    OP
    Dec 30, 2021
    6
    @vate32 会对 JSON 里的字段进行过滤之类的操作么
    jonathanchoo
    jonathanchoo
    Dec 30, 2021
    7
    用了 select column->'$.xxx'还不错
    AngryPanda
    AngryPanda
    Dec 30, 2021 via iPhone
    8
    用过,但是还是觉得能拆字段尽量拆字段吧
    FrankAdler
    FrankAdler
    Dec 30, 2021
    9
    php 的 xhprof 做了 pdo 支持,用到了 json 查询,性能一般,但是好过 like
    vate32
    vate32
    Dec 30, 2021
    10
    @shanghai1943 我的意思是,会用 json 存储一些不怎么重要,会频繁变动,但又不想一直修改数据库字段的信息,比如某些查询任务的过滤条件。
    Chinsung
    Chinsung
    Dec 30, 2021
    11
    没用过,但是 psql 之前用过 json 字段。
    这种东西,你在代码里不太可能根据 json 的字段去查,所以本质上使用起来和你自己定义一个 varchar 字段里面存 json 是一样的。
    Saurichthys
    Saurichthys
    Dec 30, 2021
    12
    json 特性不是 5..7 就有了么
    onhao
    onhao
    Dec 31, 2021
    13
    有的 :例如 https://wuhao.pw/archives/244/
    会简化很多操作, 很多功能 不需要写程序,直接 sql 搞定,随着 mysql 8 的普及,以及 json 的流行 使用的场景也会更常见和频繁。
    yeyu
    yeyu
    Dec 31, 2021
    14
    没用,生产 json 类型都丢 NoSql 数据库
    zed1018
    zed1018
    Dec 31, 2021
    15
    我用了,就那样吧,操作挺麻烦的。几个 json function 都不是很好用。跟 postgres 比差太多
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1842 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 11:10 · PVG 19:10 · LAX 03:10 · JFK 06:10
    ♥ Do have faith in what you're doing.