php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比mysql數(shù)據(jù)庫(kù)的執(zhí)行效率完整示例
本文實(shí)例講述了php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比mysql數(shù)據(jù)庫(kù)的執(zhí)行效率。分享給大家供大家參考,具體如下:
<?php
/**
* 測(cè)試pdo和mysqli的執(zhí)行效率
*/
header("Content-type:text/html;charset=utf-8");
//通過(guò)pdo鏈接數(shù)據(jù)庫(kù)
$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/>";
//通過(guò)mysql鏈接數(shù)據(jù)庫(kù)
$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í)行時(shí)間是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
echo "mysqli的執(zhí)行時(shí)間是pdo的".round($mysqli_time/$pdo_time)."倍";
}
測(cè)試結(jié)果:其實(shí)經(jīng)過(guò)多次測(cè)試,pdo和mysqli的執(zhí)行效率差不多。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫(kù)程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP使用PDO實(shí)現(xiàn)mysql防注入功能詳解
- PHP連接MySQL數(shù)據(jù)庫(kù)的三種方式實(shí)例分析【mysql、mysqli、pdo】
- PHP使用PDO、mysqli擴(kuò)展實(shí)現(xiàn)與數(shù)據(jù)庫(kù)交互操作詳解
- PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫(kù)、表及插入多條數(shù)據(jù)操作示例
- php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比連接mysql數(shù)據(jù)庫(kù)的效率完整示例
- PHP使用PDO操作sqlite數(shù)據(jù)庫(kù)應(yīng)用案例
- PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過(guò)程示例
- PHP基于PDO擴(kuò)展操作mysql數(shù)據(jù)庫(kù)示例
- PHP基于pdo的數(shù)據(jù)庫(kù)操作類(lèi)【可支持mysql、sqlserver及oracle】
- PHP如何初始化PDO及原始SQL語(yǔ)句操作
相關(guān)文章
ThinkPHP5中Request請(qǐng)求對(duì)象大全
ThinkPHP5可以通過(guò)Request對(duì)象完成全局輸入變量的檢測(cè)、獲取和安全過(guò)濾,支持括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系統(tǒng)變量,以及文件上傳信息,如果要獲取當(dāng)前的請(qǐng)求信息,可以使用\think\Request類(lèi)2024-08-08
PHP操作Postgresql封裝類(lèi)與應(yīng)用完整實(shí)例
這篇文章主要介紹了PHP操作Postgresql封裝類(lèi),結(jié)合實(shí)例形式分析了php針對(duì)Postgresql數(shù)據(jù)庫(kù)常見(jiàn)的連接、查詢(xún)、統(tǒng)計(jì)等操作封裝技巧與使用方法,需要的朋友可以參考下2018-04-04
fleaphp crud操作之findByField函數(shù)的使用方法
fleaphp crud操作之findByField函數(shù)的用法分享,需要的朋友可以參考下。2011-04-04
php+mysql實(shí)現(xiàn)無(wú)限分類(lèi)實(shí)例詳解
這篇文章主要介紹了php+mysql實(shí)現(xiàn)無(wú)限分類(lèi)的方法,實(shí)例分析了mysql數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)庫(kù)操作及無(wú)限極分類(lèi)的具體實(shí)現(xiàn)步驟,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01
php PDO判斷連接是否可用的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇php PDO判斷連接是否可用的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
解決PHP程序運(yùn)行時(shí):Fatal error: Maximum execution time of 30 seconds
最近做的程序中涉及到的循環(huán)比較多且處理的情況較復(fù)雜,在運(yùn)行程序時(shí)出現(xiàn)執(zhí)行超時(shí)提示如下:Fatal error: Maximum execution time of 30 seconds exceeded in D:\php\AppServ\www\sum3\test.php on line 3通過(guò)在網(wǎng)上搜索,找到了解決方法和大家分享,下面來(lái)一起看看吧。2016-11-11

