MySQL与文件数据库

时间:2009-01-31 16:04:48

标签: php mysql json

因此,我将使用PHP开发自制博客系统,我想知道哪种存储数据的方式最快。我可以进入MySQL方向,或者我可以用自己的方式去做,它将所有信息(以JSON编码)存储在文件中。

哪种方式是最快的MySQL或JSON文件?

8 个答案:

答案 0 :(得分:4)

对于小型单用户“数据库”,文件系统可能会更快 - 随着大小和复杂性的增加,像MySQL或SQL Server这样的数据库服务器很难被击败。

答案 1 :(得分:2)

我肯定会选择一个数据库选项(因为你需要能够搜索和索引东西)。但这并不意味着您需要一个完全实现的独立数据库服务。

MySQL绝对是更具可扩展性的解决方案 但缺点是您需要设置和维护单独的服务。

另一方面,存在基于文件的DB,并且仍然允许您使用标准SQL(SQLite SQLite.org)进行访问。您可以获得SQL的优势,但不需要维护单独的服务。缺点是它们不具备可扩展性。

答案 2 :(得分:1)

我会选择一个MySQL数据库 - 只是因为它更容易管理。

JSON实际上不是存储格式,而是用于将数据发送到JavaScripts。如果您想将数据存储在文件中,请查看XMLSerialized PHP(我怀疑您的身份,而不是JSON)。

答案 3 :(得分:1)

请原谅我,如果这不是直接回答你的问题,但由于它是一个家庭式博客系统,是否真的值得花时间考虑现在的存储后端更快?

从第1天起你不会看到10,000个并发用户,听起来在可预见的未来它不需要扩展到任何有用的程度。

为什么不坚持使用MySQL作为明智的选择而不是快速选择?如果你真的想要一些你为速度设计的感觉,可能会使用螺栓sqlite。

答案 4 :(得分:1)

由于您认为自己可能不需要复杂的关系结构,因此这可能是一个尝试更多中间内容的有趣机会。

签出CouchDB,它是一个基于文档的无架构数据库(但仍可索引)。数据库由包含命名字段的文档组成(想想键值对)。

玩得开心....

答案 5 :(得分:0)

虽然我不确定,但在我看来,MySQL数据库会快得多,特别是随着数据量越来越大。

此外,使用MySQL和PHP非常容易,特别是如果你使用像ezSQL这样的抽象类。 ezSQL使得使用数据库变得非常简单,我认为你将通过自制的JSON方向为自己创造更多不必要的工作。

答案 6 :(得分:0)

我做到了。我喜欢非常简单的问题的文件和复杂问题的数据库。

对于文件解决方案,请在文件数量增加时注意这些问题:

1)使用的磁盘空间比您预期的多得多,因为即使很小的文件也会占用整个块。在支持大型驱动器的文件系统上,块相当大。

2)当目录中的文件数量非常大时,大多数文件系统会变得非常慢。我对此的解决方案(假设文件的名称在字母表中合理分布)是创建一个由文件名的前两个字母组成的目录。因此,文件“animal.txt”将在/ animal.txt中找到。这非常有效。如果您的文件名在字母表中分布不合理,请使用某种散列函数来创建目录。听起来有点疯狂,但这可以非常非常好地工作,并且我已经将它用于具有数万个文件的非常快速的解决方案。

但文件解决方案有时只适合。除非您有充分的理由使用文件,否则请使用数据库。

答案 7 :(得分:0)

这真的很酷。它是一个PHP类,它使用查询http://www.fsql.org/index.php

来控制平面文件数据库

对于博客,我建议缓存页面,因为博客通常只有静态内容。这样,查询只在缓存时运行一次。您可以在添加新博客帖子时更新缓存页面。