php使用mysqli和pdo擴(kuò)展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率完整示例
本文實例講述了php使用mysqli和pdo擴(kuò)展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率。分享給大家供大家參考,具體如下:
<?php
/**
* 測試pdo和mysqli的執(zhí)行效率
*/
header("Content-type:text/html;charset=utf-8");
//通過pdo鏈接數(shù)據(jù)庫
$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標(biāo)題".$i;
$content = "pdo內(nèi)容".$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鏈接數(shù)據(jù)庫
$mysqli_startTime = microtime(true);
$mysqli = mysqli_connect("localhost","root","1234","test") or die("數(shù)據(jù)連接失敗");
mysqli_query($mysqli,"set names utf8");
for($i=1;$i<=100;$i++){
$title = "mysqli標(biāo)題".$i;
$content = "mysqli內(nèi)容".$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的執(zhí)行時間是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
echo "mysqli的執(zhí)行時間是pdo的".round($mysqli_time/$pdo_time)."倍";
}
測試結(jié)果:其實經(jīng)過多次測試,pdo和mysqli的執(zhí)行效率差不多。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP使用PDO實現(xiàn)mysql防注入功能詳解
- PHP連接MySQL數(shù)據(jù)庫的三種方式實例分析【mysql、mysqli、pdo】
- PHP使用PDO、mysqli擴(kuò)展實現(xiàn)與數(shù)據(jù)庫交互操作詳解
- PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫、表及插入多條數(shù)據(jù)操作示例
- php使用mysqli和pdo擴(kuò)展,測試對比連接mysql數(shù)據(jù)庫的效率完整示例
- PHP使用PDO操作sqlite數(shù)據(jù)庫應(yīng)用案例
- PHP實現(xiàn)PDO操作mysql存儲過程示例
- PHP基于PDO擴(kuò)展操作mysql數(shù)據(jù)庫示例
- PHP基于pdo的數(shù)據(jù)庫操作類【可支持mysql、sqlserver及oracle】
- PHP如何初始化PDO及原始SQL語句操作
相關(guān)文章
PHP操作Postgresql封裝類與應(yīng)用完整實例
這篇文章主要介紹了PHP操作Postgresql封裝類,結(jié)合實例形式分析了php針對Postgresql數(shù)據(jù)庫常見的連接、查詢、統(tǒng)計等操作封裝技巧與使用方法,需要的朋友可以參考下2018-04-04
fleaphp crud操作之findByField函數(shù)的使用方法
fleaphp crud操作之findByField函數(shù)的用法分享,需要的朋友可以參考下。2011-04-04
解決PHP程序運行時:Fatal error: Maximum execution time of 30 seconds
最近做的程序中涉及到的循環(huán)比較多且處理的情況較復(fù)雜,在運行程序時出現(xiàn)執(zhí)行超時提示如下:Fatal error: Maximum execution time of 30 seconds exceeded in D:\php\AppServ\www\sum3\test.php on line 3通過在網(wǎng)上搜索,找到了解決方法和大家分享,下面來一起看看吧。2016-11-11

