当前位置: 首页 > 面试题库 >

MySQL与JSON-为什么?[关闭]

田博易
2023-03-14
问题内容

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。

8年前关闭。

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

这就是我的意思:

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

{
  "username":"seefour",
  "password":"abc123"
}

编辑:哇,距我问这个问题只有3年了,很惊讶地看到自问这个问题以来我已经成熟了多少。从未来的我到过去的我,这就是为什么两者都不起作用的原因。(以防当时有人像我这样幼稚的人可以参考这个)

我曾经认为这两个是可互换的,因为它们在很大程度上都是存储信息的方式,尽管当时存储和使用JSON文件对我来说比较容易。数据库是独立的软件,可以更快地检索数据,并且不会随着时间的推移而end肿。同样,将所有数据都存储在一个或两个文件中会使最终很容易导致数据被盗或丢失,因为这样做可以使数据库更安全。从根本上讲,数据不应成为您代码的一部分;它应该与您的代码一起使用。

此外,您还将了解到几年后的哈希和盐腌技术,因此请不要以纯文本形式存储密码!


问题答案:

直言不讳,MySQL是一个数据库,而JSON不是,因此正确的答案是MySQL,毫不犹豫。JSON只是一种语言,几乎没有。JSON从未被设计来处理诸如并发连接或任何类型的数据操作之类的事情,因为它自己的功能是
表示 数据,而不是 管理 数据。

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

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



 类似资料:
  • 问题内容: 与MYSQL sha1相关的“盐”是什么?我不知道与sha1密码加密相关的盐是什么?有人可以解释一下吗? 问题答案: 盐是添加到您想要以一种哈希方式加密的密码(或其他机密)中的值。这意味着它可以在密码之前,之后或内部,只要它的位置和值与给定提供的密码一致。 它的作用是减轻字典攻击(基本上是不加盐就预先加密的常见密码的字典)从被用来“猜测”一种单向密码,只要攻击者不知道哈希。如果每个密码

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我已经习惯了包括SQL Server在内的Microsoft技术。今天,我遇到了一个问答,其中引用了MySQL文档的以下内容: 标准SQL 会拒绝您的查询,因为

  • 本文向大家介绍为什么BINARY关键字与MySQL REGEXP运算符一起使用?,包括了为什么BINARY关键字与MySQL REGEXP运算符一起使用?的使用技巧和注意事项,需要的朋友参考一下 使用BINARY关键字强制REGEXP将字符串作为二进制字符串进行匹配。我们将在这里看到区别。 让我们首先创建一个表- 使用insert命令在表中插入一些记录。我们在这里有不同情况的名字- 使用selec

  • ChatGPT是由总部位于旧金山的公司 OpenAI构建。该公司负责创建GPT-3和DALL-E2 等软件

  • 我刚刚开始使用MongoDB,我注意到它使用BSON在内部存储数据。然而,关于什么是BSON以及如何在MongoDB中使用BSON,文档并不十分清楚。有人能给我解释一下吗?

  • 问题内容: 由于JavaScript不是从Java派生的,为什么它的名称中带有“ Java”? 问题答案: JavaScript最初名为Mocha,后来又重命名为LiveScript,然后又重命名为JavaScript。 将LiveScript更改为JavaScript的名称是因为Netscape和Sun达成了许可协议。 然后将该语言提交给ECMA国际组织进行标准化处理。到那时,Netscape不