你们会在数据库字段里存 json 字符串吗

2025 年 4 月 9 日
 zx9481

当前项目中存在一个包含 7-8 个级联下拉框的查询模块,其中多数控件具有 3-4 级嵌套关系。考虑将所有枚举数据通过 AI 预处理生成结构化 JSON ,采用单字段存储方案,配合 Redis 持久化缓存,最终直接向前端输出完整数据结构。

大佬们,这种设计是否具备可行性?这种"全家桶"式的处理方式会不会有什么坑?

4865 次点击
所在节点    数据库
31 条回复
nxforce
2025 年 4 月 9 日
我也遇到过这种深嵌套的结构,连表能拖死 MySQL ,最后把这部分数据单独扔 mongodb 完事了。
vincentWdp
2025 年 4 月 9 日
要不要查询, 以及如何查询决定了如何存储.
lixikei
2025 年 4 月 9 日
我就把数据 json 字符串存了一个字段
hkiJava
2025 年 4 月 9 日
有这种设计方案的,就是修改字段值不大方便,如果读的频率大于写,可以搞
edward1987
2025 年 4 月 9 日
看数量级吧,如果一次性返回数据量很大的话,还是分层级缓存好点。
635925926
2025 年 4 月 9 日
级联应该就是查出来( pid ,level ),后端组合成 tree 。
lcbp
2025 年 4 月 9 日
这类数据直接放到 MongoDB 里面
niubiman
2025 年 4 月 9 日
我们项目有一些字段就是直接 json 存的, 比如我们有一个场景是订单明细需要多次入库, 这个就是在订单明细上直接用 json 保存入库记录, 单开一张表的话感觉有点脱裤子放屁的感觉, 对了我们用的库是 pg, 目前没有性能上的问题
liKeYunKeji
2025 年 4 月 9 日
存过数组['你好','我好','大家好']
niubiman
2025 年 4 月 9 日
@hkiJava 对的, 偏日志类的, 并且层级不太深的直接 json 更合理, 在 DDD 中也推荐在一些场景直接使用 json 而不是开表
kneo
2025 年 4 月 9 日
如果数据库支持原生 Json 字段就存。不支持的话再考虑考虑。
moefishtang
2025 年 4 月 9 日
用 json 存过订单详情(订购的商品条目之类的),因为不想另外起一个表,觉得关联查询麻烦
laikicka
2025 年 4 月 9 日
postgresql 没问题
NessajCN
2025 年 4 月 9 日
mongodb 了解一下
neptuno
2025 年 4 月 9 日
都是些枚举值,而且还有 redis 缓存,怕啥,直接上
cutiechi
2025 年 4 月 9 日
大量字段全是 JSON ,JSON 中还有大量 Base64
yhnbgfd
2025 年 4 月 9 日
没问题, 就是一个{}或者[]的字符串而已.
rlds
2025 年 4 月 9 日
大量的 json 丢 mongodb 去了。
sazima
2025 年 4 月 9 日
属于常规操作
zoharSoul
2025 年 4 月 9 日
存就行了 跟 ai 啥关系

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

https://v2ex.ih06.com/t/1124252

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

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

© 2021 V2EX