我在一个网站上工作,我"继承"在我的工作,它目前使用PHP/HTML/CSS/JS,它需要AGES加载,但事情是没有PHP它加载真的很快。然而,我对PHP不是很有经验,所以我不知道我应该在哪里调整它以使它更快地工作。首先,在页面的最顶部,我有这段代码来预加载所有内容:
<?
?>
然后进一步使用这段代码创建一个表(我知道我可以做得更好,只是不知道如何准确地因为数据库上的表似乎是不相关的,他们特别要求我不要触摸数据库。
<?
$count = 0;
foreach ($domains as $row){
$count++;
?>
一些HTML放在这里(主要是表的行),然后:
<?
} ?>
所以大约2天后搞乱的网站,我知道我的html/css/js是优化的,但php一直让我等待大约5 - 10秒的一切加载(有时甚至更长),这当然是不可接受的,谁能请帮助我在这里?
编辑
我尝试将一些连接从foreach循环之外,但如果我这样做,我会得到一个错误=/
使用像xhprof或xdebug+kcachegrind这样的分析器来查找代码中耗时较长(或执行过于频繁)的地方并对其进行优化。
首先应该停止在foreach
循环中编写查询。
删除使用LIKE
语句的查询
那么您应该重新检查给定表的索引。经验法则是,WHERE
和GROUP BY
子句中出现的所有行都应该被索引(嗯…当然也有例外,但是你应该能够根据具体情况来判断。
你可以去掉switch
语句,代之以数组查找。
. .嗯. .