6

我对数据库没有任何经验,但打算学习它并在我计划的网络项目中使用它。

不过,我从一个朋友那里得到了建议,即数据库的使用应该比我计划的要广泛得多。他相信将几乎所有的数据都保存在数据库中,我发现数据库对于用户数据(只是很小的数据)和页面内容数据等(一切不仅仅是非常小的数据)是最方便的在静态文件中 - 没有任何知识来建立该假设。

  • 更好的解决方案是什么?数据库中的最小数据,还是我能找到有效存储它们的方法?
  • 使用静态文件和数据库之间是否存在性能差异?
  • 最佳解决方案是否取决于一般网站流量?

我打算使用 PHP 和 MySQL 的组合。

4

7 回答 7

4

如果您希望能够根据几个参数搜索特定数据,那么您确实需要使用数据库。SQL 语言正是为此为您提供了WHERE子句。另外,无论何时要创建和更新数据,数据库都是最好的选择,因为它在一定程度上提供了约束来保证数据的唯一性。此外,数据之间的关系最好由数据库管理(使用外键等)。

例如,用户配置文件最好存储在数据库中。用户控制的输入也必须存储在数据库中。另一方面,服务器端的包含/模板文件最好作为普通文件存储在服务器的本地磁盘文件系统中,因为不需要在其中进行搜索。如果您想将文件名与更多(元)信息(例如菜单/子菜单)“链接”,您最终可以将文件名存储在数据库中这同样适用于二进制文件(图像、下载等),您不希望将它们放在数据库中,除非您想要(非常)高度的可移植性。

于 2010-01-18T00:42:16.427 回答
3

数据库不是持久数据存储的唯一手段,它们只是最常见的。

有些文档/博客引擎根本不使用数据库。当一个页面被创建、更改或评论时,静态 html 文件被创建或修改。例如,可移动类型

同样,您可以拥有纯内存存储系统,如果系统关闭,内存数据将被简单地重建。或者内存内容被转储然后恢复并且不涉及数据库。这通常在具有极高吞吐量或需要极低(微秒级)延迟的系统中完成。

您的问题无法真正得到回答,因为您所问的所有问题的答案都是“视情况而定”,您可能可以让它发挥作用,无论您怎么做。

我会这样说:在你真正遇到问题之前不要太在意性能。您将遇到的大多数性能问题可能归结为数据库中的索引和主键。

PHP 和 MySQL 是一个不错的选择。

于 2010-01-18T00:40:05.583 回答
2

数据库是保存严格数据的正确位置。平面文件的索引速度根本无法与数据库中的数据几乎相同。另一方面,建立数据库需要更多的学习收入。

像照片这样的二进制数据在数据库中并不是那么好。

于 2010-01-18T00:32:53.183 回答
0

Mysql是具有数据完整性的常用数据库之一。如果您计划存储大量数据,最好使用 mysql。使用数据库时还应考虑安全性。Mysql 非常安全且易于使用,您还可以在网上搜索一些更好的文档和示例。

于 2010-01-18T03:15:18.253 回答
0

此外,如果数据操作需要事务,数据库几乎总是唯一的好解决方案。

于 2010-01-18T01:58:49.823 回答
0
  • 我会说:数据库中的所有内容。数据库针对这些事情进行了优化。大多数博客软件也使用数据库来存储内容,这是安全的。编辑:哦,二进制文件确实比文件更好。但 MySQL 也可以安全地处理它们。如果您有 1 张照片,可以将其存储在数据库中(因为它更易于维护),但如果您托管 10.000 张照片:请改用文件,并保留数据库中文件的引用(它们的位置, ETC。)。
  • 绝对:数据库再次优化。在后台,数据库使用文件:但您不必再关心这个了。
  • MySQL 数据库非常适合一般网站流量。

PHP 和 MySQL 是不错的选择。

于 2010-01-18T00:33:26.960 回答
0

在我看来 - 你需要一个理由不将数据存储在数据库中。|但我认为您还应该考虑非关系数据库,例如 google 数据存储http://code.google.com/appengine/docs/python/datastore/或其他类似的东西。

于 2010-01-28T15:13:09.270 回答