PHP/MySQL - 使用 json 编码数据而不是数据库中的多列

标签 php mysql database json

我想知道使用某种序列化数据(无论是 json 编码还是序列化等)是否比在 mysql 数据库中使用多列更好。

示例: 如果我有一个“用户”表,某些列通常是:id、全名、用户名、电子邮件、密码等。

但是如果我使用 json 数据而不是所有这些列怎么办?我可以在我的数据库表中只使用 2 列(id,数据)吗?所以我可以在 php 中做这样的事情:

json_encode(array('username' => $_POST['username'], 'password' => md5($_POST['password'])));

然后将其插入到具有“数据”列的表中,该列将保存 json 编码数组。

稍后在脚本中,我可以检索“数据”列并使用 json_decode($stuff_from_db, true)

如果这是一个愚蠢的问题,我很抱歉,我对 mysql 及其扩展方式等不太了解。但我想知道这是一个好主意还是坏主意。

谢谢

最佳答案

不,这不是一个好主意,而且这会导致 RDBMS 中的关系消失。 。如果不首先解析每一行的结果,您将无法快速查询表中的任何内容。在小规模上这还可以,但是如果您想要存储数据,那么 MySQL 就不是可以使用的数据库。

想象一下,如果您使用序列化或 JSON 编码来存储数据库,则尝试从数据库中获取以下内容:

Get the number of users with the first name "John"

关于PHP/MySQL - 使用 json 编码数据而不是数据库中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571847/

相关文章:

php - 成员(member)专区

php - 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

MySQL 数据透视表显示一周中每个工作日的出勤情况

mysql - 从mysql中的两列中删除一个重复值

php - Woocommerce 日期选择器始终开启

php - 在数据库中插入多个值

mysql - WooCommerce:在数据库中查找产品

java - JDBC获取外键引用的关系+属性

java - 在 JAVA 中通过列表聚合函数

android - 将数据从 Android 发送到 Webservice 以插入到我的数据库中