我想知道使用某种序列化数据(无论是 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/