$linkid = mysql_connect('localhost', 'root', '');
运行这条语句竞然费时1秒多,
这种方式$pdo = new PDO('mysql:host=127.0.0.1;dbname=xinsu;', 'root', '');只用0.002秒。但把以上的语句包装成类,动态引用时,都要耗时超过1秒。
function getdb(){
if(empty($this->db)){
global $conf;
require_once(ROOT_DIR.'libs/DB.class.php');
$this->db = new DB($conf['dbserver'],$conf['dbuser'],$conf['dbpassword'],$conf['dbname']);
}
return $this->db;
}

解决方案 »

  1.   

    我很好奇的做了个测试.不过我是在Linux下,测试了几次都与下面的时间接近
    用掉的时间是
    0.0016918182373047 我想应该不存在这样的bug.哪位好奇的同学再到win下鼓捣一下?
      

  2.   

    我刚才把PHP换回5.2.17后,同样的查询Mysql代码只用了0.01秒左右,这足可以说明在Windows下面的Mysqlnd有问题。
      

  3.   

    我有时打开localhost都要好几秒
    说明不了任何问题的
      

  4.   

    PHP5.3.X+win2008(not R2) 好像都有这个问题,很早就发现了
      

  5.   

    1.检查DNS和hosts
    2.检查mysql的skip-name-resolve
    3.你用$linkid = mysql_connect('127.0.0.1', 'root', ''); 试试看
    4.不要动不动就说是php的bug...在怀疑别人之前,先怀疑自己才是正道...