php mysql 一次连接多次查询, 每次连接只查询一次

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

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


<?php
require("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";
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值