程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> PHP的MySQL庫之Pdo-Mysql與Mysqli性能對比

PHP的MySQL庫之Pdo-Mysql與Mysqli性能對比

編輯:MySQL綜合教程

我們知道,LAMPLinux + Apache + Mysql + PHP)是一種很常用的WEB服務器搭配。PHP中有很多MySQL庫以方便我們的使用,比如說:Pdo-MysqlMysqli等等。那麼究竟哪種方式性能最佳呢?本文我們對以上的連接方式作了性能對比試驗:

1、建一個Mysql數據庫,新建一張InnoDB表參考某項目的核心表),然後用存儲過程生成100萬條數據。

2、搭一PHP環境,每次訪問會隨機查詢數據庫裡的一條數據。

3、訪問完成後驗證查詢結果的正確性。

Pdo-Mysql長連接 $dbh = new PDO(……,array(PDO::ATTR_PERSISTENT => true));

Pdo-Mysql短連接 $dbh = new PDO($host, $username, $password);

Mysqli $dbh = new mysqli($host,$username,$password,$dbname,$port);

Mysqli_connect $dbh = mysqli_connect($host,$username,$password,$dbname,$port);

自帶 $dbh = mysql_connect($host,$username,$password);

結論:

1、使用Pdo-Mysql的長連接方式,性能最佳;

2、Mysqli的性能要優於使用Pdo-Mysql即時連接;

3、Pdo-Mysql即時連接性能同使用“自帶”方式沒有明顯差異。

附,Pdo-Mysql與Mysqli的每秒事務數圖:

PHP的MySQL庫之Pdo-Mysql與Mysqli性能對比

附,對應時間段Web服務器的內存使用圖:

PHP的MySQL庫之Pdo-Mysql與Mysqli性能對比

從上面兩個圖可以看出:

1. Pdo-Mysql之所以比Mysqli快,是由於Pdo-Mysql對數據庫的操作比Mysqli要少;

2. 在Pdo-Mysql使用了長連接的測試中,Web服務器內存持續上漲。

簡單查了一下,是Aapche服務的httpd進程內存上漲,再跟進去模塊名顯示[匿名],後續再繼續查一下原因)

那麼單純從性能角度看,Pdo-Mysql長連接性能最佳,但有何弊端還有待查證。

關於PHP中MySQL庫的Pdo-Mysql與Mysqli性能對比的知識就介紹到這裡了,希望本次的介紹能夠對您有所收獲!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved