php+mysql prepare 与普通查询的性能对比实例讲解
php+mysqlprepare与普通查询的性能对比
实例代码如下:
<?php
classtimer{
public$StartTime=0;
public$StopTime=0;
public$TimeSpent=0;
functionstart(){
$this->StartTime=microtime();
}
functionstop(){
$this->StopTime=microtime();
}
functionspent(){
if($this->TimeSpent){
return$this->TimeSpent;
}else{
//http://www.manongjc.com
$StartMicro=substr($this->StartTime,0,10);
$StartSecond=substr($this->StartTime,11,10);
$StopMicro=substr($this->StopTime,0,10);
$StopSecond=substr($this->StopTime,11,10);
$start=floatval($StartMicro)+$StartSecond;
$stop=floatval($StopMicro)+$StopSecond;
$this->TimeSpent=$stop-$start;
returnround($this->TimeSpent,8).'秒';
}
}
}
$timer=newtimer;
$timer->start();
$mysql=newmysqli('localhost','root','root','ganbaobao_ucenter');
/*
$query=$mysql->query("selectusername,emailfromuc_memberswhereuid<100000");
$result=array();
http://www.manongjc.com/article/1194.html
while($result=$query->fetch_array())
{
$result[]=array('name'=>$result['username'],'email'=>$result['email']);
}
*/
$query_prepare=$mysql->prepare("selectusername,emailfromuc_memberswhereuid<?");
$id=100000;
$query_prepare->bind_param("i",$id);
$query_prepare->execute();
$query_prepare->bind_result($username,$email);
$result=array();
while($query_prepare->fetch())
{
$result[]=array('name'=>$username,'email'=>$email);
}
$timer->stop();
echo'</br>预查询mysql运行100000条数据时间为:'.$timer->spent();
unset($timer);
//var_dump($result);
运行结果:
普通mysql运行1000条数据时间为:0.011621秒
普通mysql运行10000条数据时间为:0.07766891秒
普通mysql运行100000条数据时间为:0.10834217秒
预查询mysql运行1000条数据时间为:0.00963211秒
预查询mysql运行10000条数据时间为:0.04614592秒
预查询mysql运行100000条数据时间为:0.05989885秒
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!