1

我正在做一个项目,我需要在一个页面上放置大量 sql 查询.. 我的问题是,如果我的网站流量很大,我将来会遇到什么问题......我不想要我的网站变慢了..请提出一些建议,以便查询的数量不会影响我的网站性能..

我正在研究 php

sql 查询可能看起来像

$selectcomments=mysql_query("select `comment`,`email`,`Date` from `fk_views` where (`onid`='$idselect_forcomments' and comment !='') order by Date asc");
4

3 回答 3

1

当然,如果您的网站变得更大,您将无法将所有内容放在一个页面上。这是逻辑,你无法改变。

不同的解决方案:

很明显,如果您的数据库变得太大,就不可能简单地将所有数据转储在一页上。即使是最快的浏览器也会崩溃。

于 2013-09-18T17:11:09.507 回答
0

是的,很明显,如果您在一个页面上有很多查询,那么即使在中等流量的情况下,它也会让您的数据库充满查询。

一些提示: 1)您应该处理您的数据库结构,如何创建表,哪个表存储什么,规范化等。尝试优化信息的存储和检索,以便在单个查询中获取最大值。信息。这将减少对数据库的调用。

2)永远不要从数据库中存储和获取冗余信息(如年龄,您可以从 DOB 计算)。

3)分页(如前所述)。

4)缓存

5)如果您一次更新页面上的一小部分,那么不要加载整个页面,而是使用 AJAX 来更新必要的部分。它也会增加交互性。

于 2013-09-18T17:20:25.563 回答
0

您可以做的一件事是Memcached。它将这些结果存储在缓存中。因此对于下一个访问者,在同一页面上的小鸡将从 sql 中读取一个缓存对象,无需再次运行。

其他技巧:order by Date asc如果您有巨大的结果,最好更快地在 PHP 端完成,如果他们需要进行全表扫描,它们可能会减慢查询速度。

其他像 Yannik 所说的:分页(这是基本的,ofc)和分页。

您可以使用 Ajax 预执行 sql 来加快分页延迟:获取分页的总结果数。

于 2013-09-18T17:15:02.890 回答