怎么样避免频繁查询数据库?现在的问题就是每次刷新网页,网页里面有很多条select语句。朋友说这样执行效率不高,很费事。说可以每一次执行一条select语句,然后放数组里。可是这样怎么弄呢?总之就是想让每次刷新网页的时候查询数据库的次数少一些??如何解决这个问题?谢谢回答!!

解决方案 »

  1.   

    这个要看你的具体语句了。 否则没办法给你什么建议。比如你有很多 
    select * from table1 where id=1,  
    select * from table1 where id=2则建议你运行一句  select * from table1 where id=1 or id=2
      

  2.   


    if($conn){
    //echo "connect success<br>";
    mysql_query("SET NAMES 'GBK'");
    $recode="select * from hgf where strcmp(la,$realtime)>0 and strcmp(la,$date1)<0";
    $result=mysql_query($recode,$conn);
    $num_rows = mysql_num_rows($result);//acheiece recode
            //echo $num_rows;
    $recodee="select distinct si,sp,di,dp,proto from hgf where strcmp(la,'$realtime')>0 and strcmp(la,'$date1')<0";
    //echo $recodee;
    $resultt = mysql_query($recodee,$conn);
    $num_rowss = mysql_num_rows($resultt);
    //echo $num_rowss;
    $tcprecode="select * from hgf where proto='TCP' and strcmp(la,'$realtime')>0 and strcmp(la,$date1)<0";
    $tcpresult=mysql_query($tcprecode,$conn);
    $tcp_num_rows = mysql_num_rows($tcpresult);
    $tcppercent=$tcp_num_rows/$num_rows*100;//achieve tcp percent num
    $udprecode="select * from hgf where proto='UDP' and strcmp(la,'$realtime')>0 and strcmp(la,$date1)<0";
    $udpresult=mysql_query($udprecode,$conn);
    $udp_num_rows = mysql_num_rows($udpresult);
    $udppercent=$udp_num_rows/$num_rows*100;//achieve udp percent num
    $clientrecode="select distinct si from hgf where strcmp(la,'$realtime')>0 and strcmp(la,$date1)<0";
    $clientresult=mysql_query($clientrecode,$conn);
    $client_num_rows = mysql_num_rows($clientresult);//achiece clients num
    这就是我上面的查询语句,我觉得太繁琐了,要怎么改进呢?就是这样多次查询数据库好么??