php使用mysqli和pdo擴展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率完整示例
本文實例講述了php使用mysqli和pdo擴展,測試對比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標題".$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標題".$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擴展實現(xiàn)與數(shù)據(jù)庫交互操作詳解
- PHP使用PDO創(chuàng)建MySQL數(shù)據(jù)庫、表及插入多條數(shù)據(jù)操作示例
- php使用mysqli和pdo擴展,測試對比連接mysql數(shù)據(jù)庫的效率完整示例
- PHP使用PDO操作sqlite數(shù)據(jù)庫應(yīng)用案例
- PHP實現(xiàn)PDO操作mysql存儲過程示例
- PHP基于PDO擴展操作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-04fleaphp 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