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

2021-12-30 11:55:10 +08:00
 shanghai1943
MySQL5.7 开始支持 JSON 数据类型了,8 里面也支持了 JSON 字段的索引,不知道各位老哥在生产环境中有用过么?效果如何?

谢谢。
2336 次点击
所在节点    问与答
15 条回复
sadfQED2
2021-12-30 11:59:16 +08:00
生产环境 mysql5.6
mikulch
2021-12-30 12:02:53 +08:00
这个特性具体什么用处?
shanghai1943
2021-12-30 12:14:51 +08:00
@mikulch 从网上的帖子来看,可以把一些不太重要的信息或者需要经常扩展的信息放在 JSON 字段里,省去声明字段的麻烦,可以利用自带的 JSON 函数对里面的字段进行查询过滤。
shanghai1943
2021-12-30 12:15:11 +08:00
@sadfQED2 连 5.7 都还没么。。
vate32
2021-12-30 12:34:36 +08:00
用了,主要存储一些不怎么重要也许会变的字段,比如过滤信息啥的。mybatis-plus 可以直接映射,序列化和反序列化基本不需要操心
@TableField(value = "filter_info", typeHandler = JacksonTypeHandler.class)
private FilterInfo filterInfo;
// filter_info 在表里就是 json 类型
shanghai1943
2021-12-30 13:11:38 +08:00
@vate32 会对 JSON 里的字段进行过滤之类的操作么
jonathanchoo
2021-12-30 13:45:40 +08:00
用了 select column->'$.xxx'还不错
AngryPanda
2021-12-30 13:49:43 +08:00
用过,但是还是觉得能拆字段尽量拆字段吧
FrankAdler
2021-12-30 13:50:07 +08:00
php 的 xhprof 做了 pdo 支持,用到了 json 查询,性能一般,但是好过 like
vate32
2021-12-30 14:25:58 +08:00
@shanghai1943 我的意思是,会用 json 存储一些不怎么重要,会频繁变动,但又不想一直修改数据库字段的信息,比如某些查询任务的过滤条件。
Chinsung
2021-12-30 17:40:31 +08:00
没用过,但是 psql 之前用过 json 字段。
这种东西,你在代码里不太可能根据 json 的字段去查,所以本质上使用起来和你自己定义一个 varchar 字段里面存 json 是一样的。
Saurichthys
2021-12-30 17:49:35 +08:00
json 特性不是 5..7 就有了么
onhao
2021-12-31 09:46:16 +08:00
有的 :例如 https://wuhao.pw/archives/244/
会简化很多操作, 很多功能 不需要写程序,直接 sql 搞定,随着 mysql 8 的普及,以及 json 的流行 使用的场景也会更常见和频繁。
yeyu
2021-12-31 13:50:11 +08:00
没用,生产 json 类型都丢 NoSql 数据库
zed1018
2021-12-31 14:29:29 +08:00
我用了,就那样吧,操作挺麻烦的。几个 json function 都不是很好用。跟 postgres 比差太多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/825249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX