2009-06-22 5 views

답변

12

첫 번째 질문입니다.

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

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

두 번째 것은 좀 더 복잡합니다. 모든 쿼리 트랙을 저장하고 실행 카운터를 저장하는 공유 게이트웨이가 필요합니다. 가장 간단한 예제는 정적 변수를 증가시킨 다음 mysql_query에 쿼리를 전달하는 mysql_query 주위의 래퍼 메소드가 될 수 있습니다.

현대 ORM의 대부분은 이미 해당 기능을 사용하고있는 경우 해당 기능을 구현합니다.

0

쿼리 수의 경우이 mysql 클래스에서 $ 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 

?> 
관련 문제