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秒
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!