php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比mysql數(shù)據(jù)庫的執(zhí)行效率完整示例
本文實(shí)例講述了php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比mysql數(shù)據(jù)庫的執(zhí)行效率。分享給大家供大家參考,具體如下:
<?php /** * 測(cè)試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í)行時(shí)間是mysqli的".round($pdo_time/$mysqli_time)."倍"; }else{ echo "mysqli的執(zhí)行時(shí)間是pdo的".round($mysqli_time/$pdo_time)."倍"; }
測(cè)試結(jié)果:其實(shí)經(jīng)過多次測(cè)試,pdo和mysqli的執(zhí)行效率差不多。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP使用PDO實(shí)現(xiàn)mysql防注入功能詳解
- PHP連接MySQL數(shù)據(jù)庫的三種方式實(shí)例分析【mysql、mysqli、pdo】
- PHP使用PDO、mysqli擴(kuò)展實(shí)現(xiàn)與數(shù)據(jù)庫交互操作詳解
- PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫、表及插入多條數(shù)據(jù)操作示例
- php使用mysqli和pdo擴(kuò)展,測(cè)試對(duì)比連接mysql數(shù)據(jù)庫的效率完整示例
- PHP使用PDO操作sqlite數(shù)據(jù)庫應(yīng)用案例
- PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程示例
- PHP基于PDO擴(kuò)展操作mysql數(shù)據(jù)庫示例
- PHP基于pdo的數(shù)據(jù)庫操作類【可支持mysql、sqlserver及oracle】
- PHP如何初始化PDO及原始SQL語句操作
相關(guān)文章
ThinkPHP5中Request請(qǐng)求對(duì)象大全
ThinkPHP5可以通過Request對(duì)象完成全局輸入變量的檢測(cè)、獲取和安全過濾,支持括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系統(tǒng)變量,以及文件上傳信息,如果要獲取當(dāng)前的請(qǐng)求信息,可以使用\think\Request類2024-08-08PHP操作Postgresql封裝類與應(yīng)用完整實(shí)例
這篇文章主要介紹了PHP操作Postgresql封裝類,結(jié)合實(shí)例形式分析了php針對(duì)Postgresql數(shù)據(jù)庫常見的連接、查詢、統(tǒng)計(jì)等操作封裝技巧與使用方法,需要的朋友可以參考下2018-04-04fleaphp crud操作之findByField函數(shù)的使用方法
fleaphp crud操作之findByField函數(shù)的用法分享,需要的朋友可以參考下。2011-04-04php+mysql實(shí)現(xiàn)無限分類實(shí)例詳解
這篇文章主要介紹了php+mysql實(shí)現(xiàn)無限分類的方法,實(shí)例分析了mysql數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫操作及無限極分類的具體實(shí)現(xiàn)步驟,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01php PDO判斷連接是否可用的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp PDO判斷連接是否可用的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧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通過在網(wǎng)上搜索,找到了解決方法和大家分享,下面來一起看看吧。2016-11-11