$conn=mysql_pconnect("localhost","root","") or die ("db错误".mysql_eror());
mysql_select_db("ie",$conn);这是新闻小偷的一部分  抓取我想要的username  while循环大约30次每次取得一个username  检查有没有--有就插入   操作2次数据库一个页面操作60次, 刚开始可以 后来数据库数据上了10w就慢死了 做了索引 稍为的好了一点点  程序还能改写下吗?

解决方案 »

  1.   

    <?php
    function geturl($url,$bigclassname,$smallclassname,$conn){
       $fcontents = file($url);
        while(list(,$line)=each($fcontents)){
            while(eregi('(href[[:space:]]*=[[:space:]]*"?[[:alnum:]:@/._-]+"?)(.*)',$line,$regs)){
    //echo $regs[1]."<BR>";
    if(strpos($regs[1],"bizreflist",0) === false)
    {}
    else
    {
    $username = cut($regs[1],"//",".");
    if(in_array($username))
    {
    $arr[]=$username ;
    $insertsql = "insert into vip_type02(username ,classB,classC) values ('".$username."','".$bigclassname."','".$smallclassname."')";
    $result=mysql_query($insertsql,$conn);
    echo $username."插入成功<BR>";
    }
    else
    {
    echo $username."重复,不写入数据库<BR>";
    }
    }
    $line = $regs[2];
            }
        }
    return $arr;
    }
    ?>
      

  2.   

    主要是select 的时候速度慢,你用select count(*) ,这样速度会提高很多
      

  3.   

    半同意yunfeifan(云飞凡)。如果可能尽量不要用mysql查询,那样是瓶颈。你不如设置个变量好过了。