每次连接查询一次 耗时117毫秒, 一次连接查询多次 耗时13毫秒.
sort connection: 414.452 - 296.879: 117.573 millisecond
long connection: 427.635 - 414.489: 13.146 millisecond
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
$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
";
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
$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";
?>
分享到:
2010-11-18 11:08
浏览 5757
分类:数据库
评论
3 楼
mahonet
2011-10-27
这叫长连接?误人子弟吧。。。
长连接应该是 mysql_pconnect 吧。。。
2 楼
yunmoxue
2011-07-08
flyoscar 写道
二个情况的差距这么大,以前有次考试就是这方面的。结果被淘汰了....
这种做法也是看情况了..
一般一个页面显示内容不需要多少,就一次性查出来放在内存里,等待输出显示.
但是内容多的话,比如几千条,几万条信息,就会导致超时..如果内容量大的话,有时候会内存不够.
1 楼
flyoscar
2011-07-05
二个情况的差距这么大,以前有次考试就是这方面的。结果被淘汰了....