출처: http://blog.naver.com/zsssd/150021318263


옛날에 썼던 글이네요.. 어느 분이 퍼가셨던거 찾아서 올립니다.

 

 

김호 책을 보다가 전에 봤지만 써보지 않았던 mysqli 에 관한 이야기가 있길래 테스트해 보았습니다. 

1. mysql 함수로 사용했을 경우 

소스코드 : 

<? 
$start = microtime(); 
$link = mysql_connect($host,$user,$pw) or die(mysql_error()); 
mysql_select_db($db) or die(mysql_error()); 
$result = mysql_query("select * from member limit 10") or die(mysql_error()); 
echo "<xmp>"; 
while($row = mysql_fetch_assoc($result))$out[] = $row; 
for( $i=0,$cnt=count($out) ; $i < $cnt ; $i++ ){ 
        $rank = $out[$i]['rank']; 
        $name = $out[$i]['name']; 
        echo "$rank $name \n"; 

echo "</xmp>"; 
mysql_close($link); 
$end = microtime(); 
$time = $end - $start; 
echo $time; 
?> 
0.002698 



2. mysqli를 객체지향으로 사용했을 경우 

소스코드 : 

<? 
$start = microtime(); 
$my_db = new mysqli($host,$user,$pw,$db); 
if ( mysqli_connect_errno() ) { 
        echo mysqli_connect_error(); 
        exit; 

$result = $my_db->query("select rank,name from member limit 10") or die($my_db->error); 
while($row = $result->fetch_assoc())$out[] = $row; 
$result->close(); 
echo "<xmp>"; 
for( $i=0,$cnt=count($out) ; $i < $cnt ; $i++ ){ 
        $rank = $out[$i]['rank']; 
        $name = $out[$i]['name']; 
        echo "$rank $name \n"; 

echo "</xmp>"; 
$my_db->close(); 
$end = microtime(); 
$time = $end - $start; 
echo $time; 
0.001557 
?> 



10건을 쿼리했을 경우 
기존방식처럼 mysql 를 사용했을 경우 0.002698 
mysqli를 사용했을 경우 0.001557 

1000건 쿼리했을 경우 
기존방식처럼 mysql 를 사용했을 경우 0.156648 
mysqli를 사용했을 경우 0.052507 

결론 : mysqli를 사용하는 것이 속도가 훨씬 빠릅니다.


Posted by 세모아
,