php+mysql prepare 與普通查詢的效能對比執行個體講解_Mysql

來源:互聯網
上載者:User

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.htmlwhile($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秒

感謝閱讀,希望能協助到大家,謝謝大家對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.