Mysql频繁修改的JSON数据,用Text类型存,还是用Json?

看到别人写的规范,不要将 JSON类型字段 用于频繁更新的字段场景中使用;

Mysql频繁修改的JSON数据,用Text类型存,还是用Json? 为什么?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

5.7之前json只能是存text,5.7以后json就很香了,主要是有的情况下能减少表的复杂程度。按照上面说的,不建议频繁更新的场景使用json大概是因为查询、更新的效率相对单个字段低,更新起来相对麻烦,但是有频繁更新的场景的话,可以考虑维护缓存(redis哈希表)、mongodb等,但是实在绕不开,数据量不大的话,也是可以的。

2周前 评论
讨论数量: 15

应该是text,json都不用,只做读

2周前 评论
Mutoulee

习惯text存

2周前 评论

直接text,json不用也不看,各种查询问题bug问题也不用去烦

2周前 评论

我觉得json吧,既然有了这个格式肯定有道理

2周前 评论
mnizfd

json 不管是查或是更新 效率更快 参考文章 ifeve.com/mysql-json/ dev.mysql.com/doc/refman/8.0/en/js...

2周前 评论

8.0后可以用json

2周前 评论

5.7之前json只能是存text,5.7以后json就很香了,主要是有的情况下能减少表的复杂程度。按照上面说的,不建议频繁更新的场景使用json大概是因为查询、更新的效率相对单个字段低,更新起来相对麻烦,但是有频繁更新的场景的话,可以考虑维护缓存(redis哈希表)、mongodb等,但是实在绕不开,数据量不大的话,也是可以的。

2周前 评论

如果是mysql8直接上json,因为专门优化了

2周前 评论
jiangjun

频繁改,注意不要并发,覆盖了

2周前 评论
my38778570 (楼主) 2周前
jiangjun (作者) 2周前

既然频繁读写你应该改为子表,而不是去纠结 json 还是 text,遇到复杂的查询 json 还是比较麻烦的

2周前 评论

mysql5.7或之前的版本用text吧,8.0就用json

2周前 评论

建议将json拆成独立的字段,满足第一范式

2周前 评论
my38778570 (楼主) 2周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!