[MySQL] 如何存储 array比较合适?

实际现象

  1. 有时候一个字段的内容, 用数组来存储很合适, 比如 point_types = [1, 2, 3]

  2. 将其拆分到多个字段, 则显得很麻烦

  3. 我现在的做法是

    1. point_types: VARCHAR(100) (将其看做是JSON字符串)

    2. 存: json.dumps(point_types_py) --> point_types

    3. 取: json.loads(point_types)

预期现象

  1. 做法3, 总感觉在土法炼钢

  2. 是否有更好的方法

上下文环境

  • Linux

  • MySQL 5.6

阅读 36.3k
2 个回答

没有查询需求,存json是可以的,需要查询,就建表

一般分两种情况:
1、只是显示,不做复杂的查询,集中存放在一个文本字段内,用逗号分隔就行,JSON感觉有点大材小用。
2、需要做统计分析,如SF上的问题TAG,需要做很多分类统计,比较合理的方案是新建一张问题和TAG的对应表。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏