2009-06-22 79 views

回答

12

對於第一個問題。

$start = microtime(true); 
$end = microtime(true); 

printf("Page was generated in %f seconds", $end - $start); 

第二個有點複雜。您需要一個共享網關來記錄所有查詢並存儲執行計數器。 最簡單的例子可以是一個圍繞mysql_query的增量靜態變量的包裝方法,然後將查詢傳遞給mysql_query。

現代ORM的絕大部分都實現了該功能,如果您已經使用其中的一種。

0

對於查詢計數,在我已經創建的這個mysql類中,你需要echo $ m-> qcount;顯示已經運行了多少個查詢。

<?php 

class mysql 
{ 
     var $db_connection = 0; 
     var $qcount = 0; 

     function connect($host='', $user='', $password='', $database='') 
     { 
      $this->db_connection = @mysql_connect($host, $user, $password); 

      if(!$this->db_connection) 
      { 
        die("Cannot connect to mySQL Host."); 
      } 
      else 
      { 
        $select = mysql_select_db($database, $this->db_connection); 

        if(!$select) 
        { 
         die("Cannot connect to DB."); 
        } 
        else 
        { 
         return $select; 
        } 
      } 
     } 

     function query($info) 
     { 
      $this->qcount++; 

      return mysql_query($info, $this->db_connection); 
     } 

     function fetch($info) 
     { 
      return mysql_fetch_array($info); 
     } 
} 

$m = new mysql; 

$m->connect("hostname","username","password","database"); 

$m->query("blah blah blah"); 
$m->query("blah blah blah"); 

echo $m->qcount; // returns a count of 2 

?>