這篇文章主要介紹了php使用mysqli和pdo擴展,測試對比mysql數據庫的執行效率,結合完整實例形式對比分析了php分別使用mysqli與pdo進行數據庫插入操作的執行時間,需要的朋友可以參考下
本文實例講述了php使用mysqli和pdo擴展,測試對比mysql數據庫的執行效率。分享給大家供大家參考,具體如下:
<?php /** * 測試pdo和mysqli的執行效率 */ header("Content-type:text/html;charset=utf-8"); //通過pdo鏈接數據庫 $pdo_startTime = microtime(true); $pdo = new PDO("mysql:host=localhost;dbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';")); for($i=1;$i<=100;$i++){ $title = "pdo標題".$i; $content = "pdo內容".$i; $addtime = time(); $user_id = $i; $pdo_sql = "INSERT INTO `article`(`title`,`content`,`addtime`,`user_id`) VALUES(:title,:content,:addtime,:user_id)"; $sth = $pdo->prepare($pdo_sql); $sth->bindParam(':title',$title); $sth->bindParam(':content',$content); $sth->bindParam(':addtime',$addtime); $sth->bindParam(':user_id',$user_id); $sth->execute(); } $pdo_endTime = microtime(true); $pdo_time = $pdo_endTime - $pdo_startTime; echo $pdo_time; echo "<hr/>"; //通過mysql鏈接數據庫 $mysqli_startTime = microtime(true); $mysqli = mysqli_connect("localhost","root","1234","test") or die("數據連接失敗"); mysqli_query($mysqli,"set names utf8"); for($i=1;$i<=100;$i++){ $title = "mysqli標題".$i; $content = "mysqli內容".$i; $addtime = time(); $user_id = $i; $sql = "INSERT INTO `article`(`title`,`content`,`addtime`,`user_id`) VALUES('".$title."','".$content."',".$addtime.",".$user_id.")"; mysqli_query($mysqli,$sql); } $mysqli_endTime = microtime(true); $mysqli_time = $mysqli_endTime - $mysqli_startTime; echo $mysqli_time; echo "<hr/>"; if($pdo_time > $mysqli_time){ echo "pdo的執行時間是mysqli的".round($pdo_time/$mysqli_time)."倍"; }else{ echo "mysqli的執行時間是pdo的".round($mysqli_time/$pdo_time)."倍"; }
測試結果:其實經過多次測試,pdo和mysqli的執行效率差不多。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作數據庫技巧總結》、《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧彙總》
希望本文所述對大家PHP程序設計有所幫助。