php使用mysqli和pdo擴展,測試對比mysql數據庫的執行效率完整示例

這篇文章主要介紹了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程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章