2

我想知道使用mysql还是使用文件存储数据更好?什么更安全,什么更快?我说的是php和mysql。

4

4 回答 4

6

这完全取决于您的要求和设置。

对于不需要复杂查询的少量数据,文件更快。站点缓存就是一个例子。

对于更大的数据集或具有更多结构的数据集,数据库将使您能够以更高级的方式查询数据。

在安全方面,文件可以受到保护(使用权限)并存储在 Web 根目录之外。数据库可以锁定到某些主机,并且可以拥有具有不同角色/权限的用户。

于 2010-01-04T21:40:23.523 回答
1

如前所述,这取决于数据,还取决于您当前的瓶颈。
如果您的应用程序在已经缺乏 IO 资源的服务器上运行,那么您可能更喜欢网络类型的存储。

安全问题更多地与设置和良好实践相关,而不是与所使用的技术相关。如果您编写文件,则需要确保它们不可下载。如果你使用数据库,你需要照顾SQL注入等等......

我想强调的是,您不仅限于文件和关系数据库。

您还可以使用memcached将数据存储在内存中(例如缓存的理想选择)。 像Redis这样的NOSQL数据库也是一种选择。

  • 数据库(即 MySQL):
    优点:可搜索,可以处理复杂和结构化的数据,可以托管在不同的服务器上,持久性
    缺点:慢
    典型用法:业务数据存储
  • 文件:
    优点:很容易设置,相当快,持久
    缺点:不适合处理非常复杂的数据,不可搜索,会消耗服务器主机IO资源,不是那么
    典型用法:日志文件,模板缓存文件
  • NOSQL(即Redis):
    优点:快速,可以在远程主机上设置,持久
    缺点:不易搜索,不适合强结构化数据
    典型用法:性能黑客(搜索)
  • 内存:
    优点:最快的!,可以在远程主机上设置缺点:与 NOSQL 相同 + 不持久
    典型用法:对象缓存
于 2010-01-08T13:38:14.200 回答
0

取决于数据。

除非它真的很简单,否则你也可以使用 mysql。确实没有明显的缺点。

于 2010-01-04T21:39:47.637 回答
0

一般来说,您需要某种数据库或对象存储来存储您的数据,因为它提供了一个干净的接口来检索您的数据。但是,它非常依赖于您尝试存储的数据。

如果您正在制作一个包含用户可修改数据的网站,您可能想要使用 MySQL 或其他一些数据库。如果您只是在谈论键入一些文档,那么数据库的开销可能比它的价值更麻烦。

为了提供更好的答案,我们需要知道您存储的数据类型以及您希望如何访问它。

于 2010-01-04T21:42:30.860 回答