从性能角度重定向用户的最佳方法

时间:2010-11-09 00:28:02

标签: php mysql performance

我正在建立一个网站,该网站将使用形式为website.php的php脚本链接到其他各种网站,每个文件中的代码只是:

header( 'Location: www.website.com' ) ;

我正在讨论创建这些文件的两种方法:

  1. 对每个网站的网址进行硬编码 - 基本上没有关于脚本的任何动态。
  2. 使用SQL查询从我站点的数据库中提取URL,然后重定向到该URL。
  3. 选项(2)有一些我认为非常重要的优点,但我担心性能问题 - 即如果所有这些链接都需要SQL查询来获取重定向URL,用户是否会看到明显的延迟?

    基本上,是否有人使用使用SQL查询提取的重定向的经验,如果是这样,我应该关注性能下降吗?

    谢谢!

    克里斯

3 个答案:

答案 0 :(得分:1)

我没有使用SQL查询中的值并将它们传递给header()的具体经验,但是使用SQL查询&一般的PHP。根据我的经验,授予我在该领域只做了大约两年的工作,SQL查询不是性能问题。只要你的查询不需要忍者阅读/写/理解,那么你应该没事。如果SQL查询方式有优势,那就去吧恕我直言。

如果您对此感到担心,请对您将要进行的查询进行时间测试并查看结果。

通常,我所做的所有查询都会返回亚秒级。

老实说,我不相信在这里甚至需要优化性能。

如果SQL方式有优势,那就这样做吧。

那是我的两分钱。

答案 1 :(得分:0)

老实说,除非你的网站同时受到成千上万次点击的攻击,否则我认为你不会遇到很多性能问题。它只是一个查询,它可能会使您的网站变得更容易,并且变得更加复杂。如果它成为一个严重的问题,你可以随时使用memcached

答案 2 :(得分:0)

这两个选项都非常快,所以当数据库选项具有其他优势时,也许它甚至不值得考虑性能。

但是,如果将静态HTML文件与另外执行查询的动态脚本进行比较,则在硬编号中,您将获得静态文件的明显优势(可能是吞吐量的5倍和延迟的一半)。

不管有人会注意到......;)