眾所周知,php中常見的兩種連線資料庫的方式有pdo連線和原生的mysql連線(包括mysqli方式)。對於很多初學者來說很想搞明白二者在效率方面的區別,下面就讓我們來對比一下。
首先對比二者在建立連線上的區別:
注意:在**開頭寫上
set_time_limit(0);//這一句很重要,表示php響應時間沒有限制,php預設響應時間為30秒,如果超過就返回錯誤。
錯誤資訊:fatal error: maximum execution time of 30 seconds exceeded in d:\phpstudy\www\moocstudy\pdostudy\testpdoconn.php on line 11
set_time_limit(0);//這一句很重要,php預設響應時間為30秒,如果超過就返回錯誤。
$begiontime=microtime(true);
for($i=0;$i
<100;$i++)
$endtime=microtime(true);
$times=$endtime-$begiontime;
$btime=microtime(true);
for($j=0;$j
<100;$j++)
$etime=microtime(true);
$times2=$etime-$btime;
echo
$times;
echo"";
echo
$times2;
執行的結果:
101.23779082298
1.0220580101013
由此可見,原生連線方式效率是pdo連線方式的100倍。
接下來我們來對比二者在查詢方面的效率:
具體**:
<?php
/** * created by phpstorm.
* user: administrator
* date: 2017-4-22
* time: 18:42
*/set_time_limit(0);
$begiontime=microtime(true);
$pdo = new pdo("mysql:host=localhost;dbname=myphp", 'root', '123456');
$sql='insert into bank values(?,?,?)';
$stmt = $pdo->prepare($sql);
$name='test';
$sum=1000;
for($i=0;$i
<1000;$i++)
$endtime=microtime(true);
$times=$endtime-$begiontime;
$pdo=null;
$btime=microtime(true);
$conn = mysql_connect('localhost', 'root', '123456');
mysql_select_db('myphp');
for($i=0;$i
<1000;$i++)
mysql_close();
$etime=microtime(true);
$times2=$etime-$btime;
echo
$times;
echo"";
echo
$times2;
執行結果:
33.927941083908
35.266016960144
由此可見,二者的差別不是太大。
最後我們來對比二者在查詢方面的差別:
set_time_limit(0);
$begiontime=microtime(true);
$pdo = new pdo("mysql:host=localhost;dbname=myphp", 'root', '123456');
$sql='select * from bank';
$stmt = $pdo->query($sql);
$endtime=microtime(true);
$times=$endtime-$begiontime;
$pdo=null;
$btime=microtime(true);
$conn = mysql_connect('localhost', 'root', '123456');
mysql_select_db('myphp',$conn);
mysql_query("select * from bank");
mysql_close();
$etime=microtime(true);
$times2=$etime-$btime;
echo
$times;
echo"";
echo
$times2;
結果(6000行資料):
1.0480599403381
1.0350589752197
可見在查詢方面二者並沒有太大的區別。
PDO連線MySql資料庫
pdo php資料物件,是乙個php擴充套件,定義了了訪問資料庫的統一介面。pdo提供了乙個資料庫訪問抽象層,通過pdo可以用相同的函式訪問不同的資料庫。pdo連線資料庫的例項 dbms mysql 資料庫型別 host localhost 資料庫主機名 dbname test 使用的資料庫 use...
PDO連線資料庫
dbh newpdo mysql host localhost dbname test user,pass 注意 如果有任何連線錯誤,將丟擲乙個 pdoexception 異常物件。try dbh null catch pdoexception e 連線資料成功後,返回乙個 pdo 類的例項給指令碼...
PHP基礎 PDO資料庫連線
php 資料物件 pdo 擴充套件為php訪問資料庫定義了乙個輕量級的一致介面。pdo 提供了乙個資料訪問抽象層,這意味著,不管使用哪種資料庫,都可以用相同的函式 方法 來查詢和獲取資料。pdo隨php5.1發行,在php5.0的pecl擴充套件中也可以使用,無法執行於之前的php版本。你可以通過 ...