php+mysql prepare 與普通查詢的性能對比實例講解
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條數(shù)據(jù)時間為: '.$timer->spent(); unset($timer); //var_dump($result);
運行結(jié)果:
普通mysql運行1000條數(shù)據(jù)時間為: 0.011621秒
普通mysql運行10000條數(shù)據(jù)時間為: 0.07766891秒
普通mysql運行100000條數(shù)據(jù)時間為: 0.10834217秒
預查詢mysql運行1000條數(shù)據(jù)時間為: 0.00963211秒
預查詢mysql運行10000條數(shù)據(jù)時間為: 0.04614592秒
預查詢mysql運行100000條數(shù)據(jù)時間為: 0.05989885秒
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
mysql 導入導出數(shù)據(jù)庫以及函數(shù)、存儲過程的介紹
本篇文章是對mysql中的導入導出數(shù)據(jù)庫命令以及函數(shù)、存儲過程進行了詳細的分析介紹,需要的朋友參考下2013-07-07MySQL binlog_ignore_db 參數(shù)的具體使用
這篇文章主要介紹了MySQL binlog_ignore_db 參數(shù)的具體作用,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2020-12-12MySQL清理數(shù)據(jù)并釋放磁盤空間的實現(xiàn)示例
本文主要介紹了MySQL如何清理數(shù)據(jù)并釋放磁盤空間,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07