使用mysql或文件存储数据是否更好?

时间:2010-01-04 21:36:49

标签: php mysql file store

我想知道使用mysql或使用文件存储数据是否更好?什么是更安全,什么更快?我在谈论php和mysql。

4 个答案:

答案 0 :(得分:6)

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

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

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

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

答案 1 :(得分:1)

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

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

我只想强调您不限于文件和关系数据库。

您还可以使用memcached将数据存储在内存中(例如,适用于缓存)。 NOSQLRedis数据库也是一种选择。

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

答案 2 :(得分:0)

取决于数据。

除非它真的微不足道,否则你也可以使用mysql。没有明显的缺点。

答案 3 :(得分:0)

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

如果您正在创建一个包含用户可修改数据的网站,您可能希望使用MySQL或其他数据库。如果你只是在谈论输入一些文件,那么数据库的开销可能比它的价值更麻烦。

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