출처: 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를 사용하는 것이 속도가 훨씬 빠릅니다.
'Programming > Web' 카테고리의 다른 글
[펌] ASP.NET-DataGrid를 간단하게 Excel로 변환하기 (0) | 2012.11.29 |
---|---|
쉬운 HTML5 역사 (The history of HTML5) (0) | 2012.11.08 |
Firefox Add-in 설정 : Firebug (0) | 2012.10.26 |