php+mysql prepare 与普通查询的性能对比
实例代码如下:
?
<?php class timer { public $StartTime = 0; public $StopTime = 0; public $TimeSpent = 0; function start(){ $this ->StartTime = microtime(); } function stop(){ $this ->StopTime = microtime(); } function spent() { 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 ; return round ( $this ->TimeSpent,8). '秒' ; } } } $timer = new timer; $timer ->start(); $mysql = new mysqli( 'localhost' , 'root' , 'root' , 'ganbaobao_ucenter' ); /* $query = $mysql->query("select username,email from uc_members where uid < 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( "select username,email from uc_members where uid < ?" ); $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秒
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦