PHP放缓,但在哪里
我有一个PHP页面,它将mysql查询中的大约130个结果加载并排序到HTML表中。PHPmyadmin只需0.003秒,但我的页面需要0.5秒。在某些地方,php代码很慢,但我在调试它时很差劲 为了提高性能,我做了一件事,就是发现PHP放缓,但在哪里,php,Php,我有一个PHP页面,它将mysql查询中的大约130个结果加载并排序到HTML表中。PHPmyadmin只需0.003秒,但我的页面需要0.5秒。在某些地方,php代码很慢,但我在调试它时很差劲 为了提高性能,我做了一件事,就是发现 if($var == '123'){ //action } 而$var不存在。把它改成 if(isset($var)){ if($var =='123'){ //action } } 当$var不存在时,脚本变得更快 我的问题是:找出我剧本中的减
if($var == '123'){ //action }
而$var不存在。把它改成
if(isset($var)){
if($var =='123'){
//action
}
}
当$var不存在时,脚本变得更快
我的问题是:找出我剧本中的减速的最好方法是什么?还有其他类似的东西吗?如果出现以下情况,您可以使用
&&&
(and)而不是嵌套的:
if(!empty($var)&&($var=='123')){
//action
}
如果要使用==
检查多个值,而不是嵌套的If
,则可以使用:
您如何返回结果<代码>回显在循环中执行指令可能会导致一些性能问题,这是一条非常昂贵的指令。如果这样做,请将实现更改为以下内容:
$resultOutput = '';
foreach($result as $var)
{
// to seize AbsoluteZERO's idea
switch ($var)
{
case "456":
//do something
$resultOutput .= '\n456 found';
break;
case "123":
//do something
$resultOutput .= '\n123 found';
break;
default:
//give them an error or something
}
}
echo $resultOutput;
这本不应该对性能产生太大影响,除非您的代码/配置有一些非常奇怪的地方,您没有告诉我们。尝试通过探查器运行代码。(我使用xdebug+kcachegrind-但您没有说您使用的是什么操作系统)
如何获得页面加载时间?PMA通常不会显示完整的结果集。0.003秒似乎有点乐观。我不太相信你的分析。但是0.5秒当然是非常慢的。这可能会帮助你找到你的慢代码。它可能会更快,但它不会做同样的事情<代码>=与
=
不同,如果($var='123')
不是支票,则是赋值sorry,=应该是==,打字错误。我的意思是添加isset()会加快速度。
$resultOutput = '';
foreach($result as $var)
{
// to seize AbsoluteZERO's idea
switch ($var)
{
case "456":
//do something
$resultOutput .= '\n456 found';
break;
case "123":
//do something
$resultOutput .= '\n123 found';
break;
default:
//give them an error or something
}
}
echo $resultOutput;