【问题标题】:Storing Website Data - JSON vs SQL存储网站数据 - JSON vs SQL
【发布时间】:2011-06-21 13:26:51
【问题描述】:

我正在管理一个使用 PHP 从头开始​​构建并广泛使用 AJAX 来加载网站内页面的网站。

目前,我创建的“管理”界面将每个页面的 HTML、页面标题、该页面的自定义 CSS 以及 JSON 中的一些其他属性存储在文件目录中(例如 example.com/hi 将有它的数据存储在 example.com/json/hi/data.json)。

这是否比使用数据库 (MySQL) 存储所有内容更有效(在性能方面)?

编辑:我知道直接文件系统访问比使用数据库更有效,但我不只是获取文件的内容;我需要先使用 json_decode 将 JSON 解析为对象/数组才能使用它。对性能的影响可以忽略不计吗?

【问题讨论】:

  • 没有。直接文件系统访问 > SQL
  • 效率只是这里的因素之一。如果生成 HTML 文件对你有用,那肯定不是最糟糕的处理方式。
  • 生成静态 HTML 文件在我的 AJAX-y 界面中并不能真正起作用。我在 Tudor 的回答下的评论中有更多详细信息。

标签: php mysql json database


【解决方案1】:

你的态度听起来不是很糟糕,事实上我之前使用了一个不那么远的解决方案,它做得很好。但是,一旦您的管理员增长或需要分离事物,您可能会考虑使用更强大的存储。因为,有两种方法:

SQL : 使用 Postgre 或 MySQL 等关系数据库

No-SQL :这似乎更符合您的兴趣,这就是原因。

考虑到您使用 ajax 进行通信并使用 json 进行存储,有MongoDB。一种使用 json 语法进行查询的无 sql 存储方法。甚至还有一个Interactive Tutorial

在表演方面,没有人听起来更快。这两种引擎通常都是用 C 或 C++ 编写的,即为了获得最佳性能。不过,对于您描述的这么简单的结构,没有比直接文件访问更快的方法了。

【讨论】:

  • NoSQL 听起来也是一个不错的选择,但我认为我的文件结构可能足够简单,可以直接访问文件,正如你所提到的。
【解决方案2】:

这取决于您使用这些数据的目的。

如果您只提供“静态”文件,并且始终使用几乎相同的数据,那么即使是静态 HTML 文件也建议用于 chaching。

另一方面,如果您处理数据并以多种形式(搜索、自定义统计等)显示它,那么将其存储在某种数据库中要好得多

【讨论】:

  • 缓存的问题是它不适用于我的 AJAX-y 接口。页眉和页脚始终在位,单击链接时所有主体内容都会发生变化。然而,数据本身从未真正被“处理”过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 2010-10-15
  • 2011-06-13
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多