MySQL vs JSON-为什么?

我在设计一个网络应用程序/游戏。哪个更好: MySQL 表还是 json 文件?它们都存储信息。它们都可以被 PHP 解析。优点和缺点是什么?

这就是我的意思:

username | password
-------------------
seefour  | abc123

对。

{
"username":"seefour",
"password":"abc123"
}
61912 次浏览

这两者实际上并不具有可比性。

MySQL 将数据存储在数据库中,或者实际上是一个数据库。 JSON 以一种格式存储数据,以便在服务器和客户机之间传递。Javascript/jquery 可以使用 JSON 作为数据对象,但是它们只存在于客户端,并且一直存在于页面中。

因此,如果您希望将数据存储为 JSON (不推荐) ,那么可能必须将它们存储为文本文件以保存数据。

应将数据存储在数据库中。 使用函数将其转换为 JSON 格式,然后将其传递到网页,供 javascript 使用并呈现给用户。

MySQL 会因为很多原因而更受欢迎,尤其是你不希望你的 web 服务器进程对文件系统有写访问权限(除了可能的日志记录) ,因为这是一个很容易被利用的方法。

此外,MySQL 团队在复制、数据并发访问、 ACID 兼容性和数据完整性等方面投入了大量的工程工作。

例如,假设您添加了一个新字段,无论您存储的是什么数据结构,该字段都是必需的。如果存储在 JSON 文件中,则必须有一些进程来打开每个文件,添加字段,然后保存它。与此相比,在字段中使用带有 DEFAULT 值的 ALTERTABLE 很困难。(这是一个人为的例子,但是您希望在代码库中保留多少处理旧数据的技巧?)

坦率地说,MySQL 是一个数据库,而 JSON 不是,所以正确的答案是 MySQL,毫不犹豫。JSON 只是一种语言,甚至连这都算不上。JSON 从未被设计用于处理任何类似并发连接或任何类型的数据操作,因为它自己的功能是对 代表数据,而不是对 管理数据。

因此,使用 MySQL 来存储数据。然后,您应该使用某种编程语言来读取该数据库,并将该信息作为 JSON 发送,而不是实际上将任何内容存储在 JSON 中。

如果您将数据存储在文件中,无论是以 JSON 格式还是其他格式,那么您将遇到各种各样的问题,自从数据库开始用于同样的事情以来,人们已经不再担心这些问题了。尺寸限制,锁,应有尽有。当你只有一个用户的时候,这已经足够好了,但是当你添加更多用户的时候,你就会开始解决很多问题,最终你可能会写一个完整的数据库引擎来为你处理文件,而一直以来,你只需要使用一个实际的数据库就可以了。