目录条目:更新的html文件或从数据库中即时运行?

时间:2009-12-21 03:23:50

标签: php mysql on-the-fly

我有一个数据库网站,在发布时将提供大约1,200个主要条目,每年可以增加约100个新条目。每个条目将由数据库中的~20个基本值组成,以及计算的平均评级和可变数量的用户评论。

评级和评论输出必须在页面请求时生成,但除非管理员进行了错误更正,否则其余数据将是静态的。

考虑带宽,数据库负载和下载时间 - 在GET之后通过一些查询动态生成整个页面会更好吗?或者更好地拥有html文件并附加评级&安培;注释然后编写一个刷新脚本,在运行时更新所有html记录?

在我看来,职业选手和职业选手缺点是:

在即时
+仅在需要时通过构建页面来节省主机空间 - 什么都没有让搜索引擎找到? - 由于额外的查询而稍微慢一点

HTML&追加
+搜索引擎友好
+由于查询较少而略快一点 - 使用磁盘空间
- 稍微复杂的代码要求

中性
=模板将以相同的方式

思想?

1 个答案:

答案 0 :(得分:1)

做任何最容易编码的事情:你会发现在实践中你的所有优点和缺点实际上都是相同的。

就个人而言,鉴于您无论如何都要去数据库发表评论,我会选择一个完全即时生成的页面。

从1,200个数据库记录中动态创建一个网页 - 实际上,坦率地说,1,200,000个数据库记录 - 即使是在中等指定的共享主机上,也完全在MySQL和PHP的功能范围内。有很多网站使用这种组合的例子有数百万条记录,因此很长一段时间你都不会发现性能问题!

碰巧你可能不会节省托管空间,因为数据库记录会占用主机上的空间,就像静态数据一样。

搜索引擎会复制用户浏览器的功能。它会向您网站的根目录发出一个好的'HTTP GET请求,然后分析每个链接并请求每个链接,直到蜘蛛获得它可以的每个页面。因此,要确保搜索引擎将数据库驱动的网站编入索引,请在页面中为每条记录提供<a href="http://linkgoeshere">Link text</a>个链接。

像下面带有网格的A-Z条目列表一样简单 - 例如我正在处理的网站是http://arkive.org,我们就是这样做的。