在学习 mysql 这种关系型数据库的过程中有一个问题:当我们要存放的数据结构不确定,自然也无法确定数据库中表的结构时,可以将数据以 json 的方式存入,但是想请教大家的是,这种方式是否不被推荐,有什么弊端?在实际应用中是否可被使用?
1
mofeiwo 2016-06-10 16:22:03 +08:00
具体场景具体分析的。
如果 json 的数据要被搜索的话,会很麻烦的 |
2
ichou 2016-06-10 16:23:25 +08:00 via iPhone
不做查询条件没关系的
5.7 已经开始支持 json 类型了 |
3
shuax 2016-06-10 16:24:02 +08:00
还不如直接 mongodb
|
4
lyragosa 2016-06-10 16:25:50 +08:00
不作为搜索条件无所谓,就是一个大 text 字段而已
|
8
hxsf 2016-06-10 16:32:54 +08:00
序列化啊,不一定要 json
|
9
clino 2016-06-10 16:33:14 +08:00 via Android
我经常这么干 当然就是只放不检索的数据
|
10
yhxx 2016-06-10 16:33:16 +08:00
最近刚做了一个
直接存成了 text ,取的时候再 parse 也不知道这么做好不好 同求解惑 |
11
misaka19000 2016-06-10 16:46:09 +08:00 via Android
感觉应该可以
|
12
guoer 2016-06-10 17:06:43 +08:00 via iPhone 1
注意有并发更新导致赃数据的坑
|
13
Sunyanzi 2016-06-10 17:20:23 +08:00 1
如果只是存储而不用于查询的话其实无所谓怎么存 ... JSON 或者序列化甚至直接空格分隔都可以 ...
但如果涉及查询就比较麻烦了 ... 头两年我还在用笨办法 ... 或者建个几十列的大表或者外挂 MongoDB ... 现在就简单很多了 ... 因为 MySQL 5.7 之后有了原生的 JSON 支持 ... 直接就可以一站式解决 ... 我个人超喜欢这功能 ... 除了语法诡异点之外没别的缺点 ... 配合 JSON 那一系列函数和虚拟列简直所向无敌 ... |
14
loading 2016-06-10 17:23:42 +08:00 via Android
我有一个应用就是存 json ,不过不是大东西。
数据量大就不方便了,特别是检索里面的内容… |
15
tabris17 2016-06-10 17:31:02 +08:00 via iPhone
如果你的 json 字段是整存整取的话无所谓,否则不推荐
|
16
argsno 2016-06-10 17:32:10 +08:00
看需求, MySQL 里面存 json 数据一般就当做序列化处理
|
17
aggron 2016-06-10 18:11:27 +08:00 via iPhone 1
Postgres 也有 jsonb 类型,可以被索引
|
18
stevegy 2016-06-10 20:38:07 +08:00
附议楼上的,你需要的是 postgres
|
19
murmur 2016-06-10 20:45:27 +08:00
如果不需要检索的数据用 json 存也未必不可
|
20
WangYanjie 2016-06-10 23:35:48 +08:00
mysql 5.7 支持 json 字段了,并且可以按字段检索,效率不了解,实际中应该还没有使用的,我估计
|
21
hxtheone 2016-06-11 05:09:54 +08:00
在公司里 mysql 只是用 text 存 json, 没有检索, 个人项目直接上 mongodb 了
|
22
guyskk 2016-06-11 08:18:01 +08:00 via Android
并发更新怎么解决?
|
23
halfcoder 2016-06-11 10:12:07 +08:00
你需要最新的 X-plugin 和 X-API
|
24
odirus 2016-06-11 10:18:11 +08:00
mongodb + 1
|
25
lygmqkl 2016-06-11 11:24:47 +08:00 via iPhone
拆开 mongodb
|
26
novaeye 2016-06-11 12:12:14 +08:00
pg 不是已经原生支持 json 类型了么~~~
|
27
0915240 2016-06-11 13:00:59 +08:00
mysql5.7 JSON 类型支持虚拟列的建立,对于一些扁平化的 JSON 数据可以建立虚拟列然后在上面创建对应的二级索引,应付一些简单的查询还是可以的。
|
28
dawncold 2016-06-11 22:06:21 +08:00
能用关系型的尽量用关系,确实有些字段可以做成 jsonb 的,再说下去就是艺术圈里面的事儿了
|