PDO與原生方式對資料庫連線插入操作效率對比

2021-07-30 23:56:31 字數 2594 閱讀 3688

眾所周知,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版本。你可以通過 ...