你的代码可以优化一下,result_i3=mysql_query($sql_i3); $total_i3=mysql_num_rows($result_i3); for ($i3=1;$i3<=$total_i3;$i3++){ $rowi3=mysql_fetch_row($result_i3);
像这样的代码改成
while($rowi3=mysql_fetch_row($result_i3))
{}
明显的少了很多计算,速度肯定会快一些,你现在的循环里面有循环,而没有考虑计算机的速度,多算了许多多余的计算机肯定会比较慢,你改改代码试试看。
像这样的代码改成
while($rowi3=mysql_fetch_row($result_i3))
{}
明显的少了很多计算,速度肯定会快一些,你现在的循环里面有循环,而没有考虑计算机的速度,多算了许多多余的计算机肯定会比较慢,你改改代码试试看。
<?
$sql_i3="select * from product_paraname where disp_mode=0 and disp_type=$disp_type order by add_datetime desc ";
$result_i3=mysql_query($sql_i3);$total_i3=mysql_num_rows($result_i3); for ($i3=1;$i3<=$total_i3;$i3++){
$rowi3=mysql_fetch_row($result_i3); $sql4="select * from product_parafield where paraname_id='$rowi3[0]' order by add_datetime desc ";
$aresult4=mysql_query($sql4); $atotal4=mysql_num_rows($aresult4);
for ($ai4=1;$ai4<=$atotal4;$ai4++){
$arow4=mysql_fetch_row($aresult4); $sql3="select * from product_feel where parafield_id=$arow4[0] and paraname_id=$rowi3[0] and product_id=$id and verno=1 ";
$result3=mysql_query($sql3); $atotal_cp=mysql_num_rows($result3);
if ($atotal_cp!=0){
break;
}
}
if ($atotal_cp!=0) {
// 输出 $rowi3[3]
}
$sql4="select * from product_parafield where paraname_id='$rowi3[0]' order by disp_num ";
$result4=mysql_query($sql4);
$total4=mysql_num_rows($result4); for ($i4=1;$i4<=$total4;$i4++){
$row4=mysql_fetch_row($result4); $sql3="select * from product_feel where parafield_id=$row4[0] and paraname_id=$rowi3[0] and product_id=$id and verno=1 ";
$result3=mysql_query($sql3);
$total_cp=mysql_num_rows($result3);
if ($total_cp!=0) {
// 条件输出$row4[3]
}
$sql3="select * from product_feel where parafield_id=$row4[0] and paraname_id=$rowi3[0] and product_id=$id and verno=1 ";
$result3=mysql_query($sql3);
$total_cp=mysql_num_rows($result3);
if ($total_cp!=0) {
// 输出查询结果
}
}
}
?>
造成运行速度慢的原因是查询数据库的次数太多
要合理的组织数据和优化查询语句,尽量不要在查询结果中循环查询,其实关联两表就出来了由于不知道你的数据结构,也不知道你的目的。无法提出建设性意见
要如何才能提高它的速度呢?
大伙看看要如何改正才能达到小于5秒的显示速度呢?