杨庆荣的博客

工作之余接单:公司产品展示网站建设、电商网站建设、小程序、app开发。+86 13714715608

php5.4.8 连接mysql比php5.2.6要慢

点击 3774    创建时间 2012-11-16 15:43:27

笔者以同一个脚本对两个版本的php进行测试,笔记用的是windows7系统。

 <?php  
 $a = microtime( true );  
 $conn = mysql_connect("localhost","root","123456");  
 mysql_select_db("yqr");  
 $q = mysql_query("show tables");  
 while( $r = mysql_fetch_assoc( $q ))  
 {  
     // print_r( $r );  
 }  
 echo microtime(true ) - $a; echo " seconds"; exit();  
 ?>

php5.4.8 输出的结果是:

 1.0138568878174 seconds

php 5.2.6 输出的结果是:

 0.00234985351562 seconds

可见,php5.4.8访问mysql的速度比php5.2.6的要慢得多。开始用php5.4.8时,我以为是mysql变慢了,删除了日志,提升了mysql性能,还是没有见得变快,速度在1秒以上。后来,我切换到php5.2.6后,访问速度一下子降到0.002秒左右。看来不是mysql的问题,而是php的mysql扩展的问题。如有升级到php5.4.8的朋友要注意一下了。

老夫去php.net问了高手,网址是:https://bugs.php.net/bug.php?id=63525&thanks=2 ,高手的回答是,简单的解决办法是把localhost替换成127.0.0.1。我照做了,速度一下子快多了。他说是因为windows7把localhost当做ipv6来解析,而mysql又不在::127处监听。

//注意这里的127.0.0.1,不要再写成localhost了。
$conn =  mysql_connect("127.0.0.1","root","123456"); 
connect to mysql take 0.0034029483795166 seconds

上一篇: gnustep:object-c继承
下一篇: ecshop二次开发添加购买参数的方法