gpt4 book ai didi

php - Json在mysql中存储设置?

转载 作者:行者123 更新时间:2023-11-29 12:42:13 24 4
gpt4 key购买 nike

有人可以告诉我在数据库中使用 json (数组)来存储设置或首选项是否是一种常见做法。可能有什么陷阱吗?

最佳答案

您可以使用 varchar() 字段作为序列化格式将 JSON 存储在 MySQL(或任何其他数据库)中。

这样做时,您会失去在表中存储数据的灵 active ,因为数据库无法理解 JSON 对象中的不同“列”。通过检索用户记录并解析 JSON(大概在应用程序级别),您可以相对轻松地获取单个用户的首选项。然而,有效地提出诸如“有多少用户有选项 a”之类的问题变得更加困难。

某些数据库对 JSON 具有 native 支持(例如自版本 9.2 以来的 Postgres)。在 MySQL 中,您可以获得具有类似功能的函数库( here 是一个任意示例)。

如果您只有少数不会更改的已知首选项,则创建一个表,并为每个首选项设置一列。如果您有许多首选项,而用户可能只有一个子集,那么可以将这些首选项存储为每个首选项一行。这样的 UserPreferences 表将包含以下列:

  • 用户 ID
  • 偏好名称
  • 偏好值

这是一种实体属性值 (EAV) 数据存储。这具有能够轻松添加新首选项的灵 active 。数据库还可以利用索引和其他技术来提高性能。但是,这种结构不如 JSON 灵活。

关于php - Json在mysql中存储设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com