首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL和JSON -为什么?

问MySQL和JSON -为什么?
EN

Stack Overflow用户
提问于 2011-11-02 18:04:07
回答 3查看 61.9K关注 0票数 73

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

这就是我的意思:

代码语言:javascript
复制
username | password
-------------------
seefour  | abc123

与

代码语言:javascript
复制
{
  "username":"seefour",
  "password":"abc123"
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-02 18:25:25

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

因此,使用MySQL来存储数据。然后,您应该使用一些编程语言来读取数据库,并以JSON的形式发送该信息,而不是将任何信息实际存储在JSON中。

如果您将数据存储在文件中,无论是以JSON格式还是其他任何形式,您都会遇到自数据库开始用于同一件事以来人们不再担心的各种问题。大小限制,锁,命名。如果您有一个用户,这就足够了,但是当您添加更多的用户时,您将开始解决太多的问题,最终可能只需要编写一个完整的数据库引擎来为您处理文件,而一直以来,您都可以只使用一个实际的数据库。

票数 55
EN

Stack Overflow用户

发布于 2011-11-02 18:16:57

由于许多原因,MySQL更可取,其中最不重要的是您不希望您的web服务器进程对文件系统有写访问权(可能日志除外),因为这是一种容易被利用的方法。

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

例如,假设您在存储的任何数据结构中添加了一个所需的新字段。如果存储在JSON文件中,则必须有一些进程打开每个文件,添加字段,然后保存它。将这与为字段使用默认值ALTER的难度进行比较。(这是一个人为的例子,但是您想在代码库中留下多少个黑客来处理旧数据呢?)

票数 19
EN

Stack Overflow用户

发布于 2011-11-02 18:09:58

这两种情况并不是完全可比的。

MySQL将数据存储在数据库中,或者实际上是数据库。JSON以要传递到和从服务器传递给客户端的格式存储数据。Javascript/jquery可以使用JSON作为数据对象,但它们只存在于客户端,用于页面的生命周期。

因此,如果您想将数据存储为JSON(不推荐),您可能需要将它们存储为文本文件来保存数据。

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

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7985145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档