【问题标题】:Storing JSON in MySQL?在 MySQL 中存储 JSON?
【发布时间】:2010-10-22 22:05:39
【问题描述】:

我有一些不需要索引或搜索的东西(游戏配置),所以我想将JSON 存储在BLOB 上。这是个好主意吗?或者有其他选择吗?

【问题讨论】:

  • 您可能会发现这篇文章以及有关 Hacker News 的相关讨论很有趣:news.ycombinator.com/item?id=496946
  • 虽然效果很好,但正如答案所说,我认为这是一种非常糟糕的做法。在未来的某个时候,您不可避免地会想要查询和/或修改它(部分)。如果您使用这种方法,这两个操作都将是不可能的。我说的是经验……我做过的最糟糕的数据库设计决定之一或多或少就是你在说的。

标签: python mysql json


【解决方案1】:

如果您需要根据JSON中的值进行查询,最好将这些值分开存储。

如果您只是像您所说的那样加载一组配置,那么将 JSON 直接存储在数据库中效果很好,并且是一个非常简单的解决方案。

【讨论】:

  • 是的,我根本不需要这些值,除了在检索时。谢谢
  • 我确实有需要索引的东西的列
  • 如果您正在索引其他列,那很好。只要不需要对 JSON 中的数据进行索引,您就可以将其保留在那里。如果您想查看有多少用户设置了某些选项,您可以稍后随时更改数据库,但我相信您首先有更多有趣的事情要做。
【解决方案2】:

与将 XML sn-ps 存储在数据库中的人没有什么不同(不支持 XML)。如果确实不需要在数据库级别进行搜索,请不要对其造成任何伤害。 JSON 的优点在于它的可解析性。

【讨论】:

    【解决方案3】:

    我不明白为什么不。作为一个相关的实际示例,WordPress 在许多情况下将序列化的 PHP 数组存储为单个值。

    【讨论】:

      【解决方案4】:

      我认为,最好序列化你的XML。如果你使用python语言,cPickle是不错的选择。

      【讨论】:

      • 为什么?可能有正当的理由,但只是说“改用 XXX”并不是很有用...
      猜你喜欢
      • 2012-05-06
      • 2018-05-14
      • 1970-01-01
      • 2016-04-29
      • 2018-03-26
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 2013-03-01
      相关资源
      最近更新 更多