PHP:将共享用户数据作为 JSON 字符串存储在 MySQL 中是多么糟糕的想法?

标签 php mysql data-integrity

我正在开发一款简单的多人游戏,一次可能有 2 到 6 人参与游戏。该游戏仅比五张抽牌扑克稍微复杂一些,因此资源消耗不是很大。

为了使开发快速、简单,我正在考虑有一个像这样的表:(简化)

games
    id (int) primary-key auto-inc > unique id
    data (text) > for storing a JSON string

这是我对这个过程的想法:

  • AJAX 帖子包含 game_id 字段
  • 进行一些权限检查和验证
  • 我从 games 中获取 id 等于 game_id 的条目
  • json_decode data 字段
  • 更多权限和验证内容
  • 如果游戏数据发生更改:对新数据进行 json_encode 并更新数据库

问题:这样做我可能会遇到哪些陷阱?

最佳答案

有些人会这样做,这就是你将要面对的

(1) 每次需要更新用户数据时,都必须解码 json 数据,编辑它,然后存储它(要检索更多数据,要存储更多数据 => 更多处理)
(2) 忘记使用 MySQL 查询进行数据聚合,您必须通过 PHP 或您使用的任何语言手动执行此操作

我不能说在 MySQL 中存储 JSON 是坏还是好主意,这取决于应用程序域和您的使用

关于PHP:将共享用户数据作为 JSON 字符串存储在 MySQL 中是多么糟糕的想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27789694/

相关文章:

php - 如何使用 PHP 计算文件夹内的文件数量?

phpinfo() 与 pdo_mysql 的 php-i 不同

java - jetty 7 + MySQL 配置 [java.lang.ClassNotFoundException : org. mortbay.jetty.webapp.WebAppContext]

没有 UDF 的 SQL 检查约束

database - 如何克服 Netezza 缺乏唯一约束/参照完整性实现的问题?

PHP if/else 语句

PHP-MySQL 使用 Simple HTML Dom 库将 "Array"插入到 foreach 循环中的表中

php - 检索返回异常数据的 php 数据

c++ - Apache Thrift 是否保证数据完整性?

php - 返回部分匹配和完全匹配时遇到问题