yunmoxue 发表于 2013-2-7 00:16:53

php mysql 长连接 短连接

对俩者的链接速度很好奇,就测试了一下...
php5,mysql5.
表里有3000条数据,
短连接查询前1000条,连接断开10次数据库,进行查询;
长连接查询后1000条,连接1次数据库,进行10次查询;
大部分测试,结果类似下边, 短连接耗时117毫秒, 长连接 13 毫秒.

sort connection: 414.452 - 296.879: 117.573 millisecondlong connection: 427.635 - 414.489: 13.146 millisecond

<?phprequire("db_conn.php");    $mysql_server_name="127.0.0.1"; //数据库服务器名称    $mysql_username="root"; // 连接数据库用户名    $mysql_password="root"; // 连接数据库密码    $mysql_database="osc_store"; // 数据库的名字    $search_count=10;    $search_number = 100;    //开始$begin = microtime()*1000;for($i=0;$i<$search_count;$i++){$dbConn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password);mysql_select_db($mysql_database, $dbConn);$queryStr = "select * from `products_description` order by products_id asc limit ".($i*$search_number)." ".$search_number;$result = mysql_query($queryStr,$dbConn);if(!result){die(mysql_error());}$list = array();while($row=mysql_fetch_array($result)){$list[$row["id"]] = $row;}mysql_free_result($result);mysql_close($dbConn);}$end = microtime()*1000;echo "sort connection: ".$end." - ".$begin.": ".(($end-$begin))." millisecond<br/>";unset($list);//开始$begin = microtime()*1000;$dbConn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password);mysql_select_db($mysql_database, $dbConn);for($i=0;$i<$search_count;$i++){$queryStr = "select * from `products_description` order by products_id desc limit ".($i*$search_number)." ".$search_number;$result = mysql_query($queryStr,$dbConn);if(!result){die(mysql_error());}$list = array();while($row=mysql_fetch_array($result)){$list[$row["id"]] = $row;}mysql_free_result($result);}mysql_close($dbConn);$end = microtime()*1000;echo "long connection: ".$end." - ".$begin.": ".(($end-$begin))." millisecond";?>
页: [1]
查看完整版本: php mysql 长连接 短连接