掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
我們知道,LAMP(Linux + Apache + Mysql + PHP)是一種很常用的WEB服務(wù)器搭配。PHP中有很多MySQL庫(kù)以方便我們的使用,比如說(shuō):Pdo-Mysql、Mysqli等等。那么究竟哪種方式性能***呢?本文我們對(duì)以上的連接方式作了性能對(duì)比試驗(yàn):

創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供永春網(wǎng)站建設(shè)、永春做網(wǎng)站、永春網(wǎng)站設(shè)計(jì)、永春網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、永春企業(yè)網(wǎng)站模板建站服務(wù),十余年永春做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
1、建一個(gè)Mysql數(shù)據(jù)庫(kù),新建一張InnoDB表(參考某項(xiàng)目的核心表),然后用存儲(chǔ)過(guò)程生成100萬(wàn)條數(shù)據(jù)。
2、搭一PHP環(huán)境,每次訪問(wèn)會(huì)隨機(jī)查詢(xún)數(shù)據(jù)庫(kù)里的一條數(shù)據(jù)。
3、訪問(wèn)完成后驗(yàn)證查詢(xún)結(jié)果的正確性。
Pdo-Mysql長(zhǎng)連接 $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);
結(jié)論:
1、使用Pdo-Mysql的長(zhǎng)連接方式,性能***;
2、Mysqli的性能要優(yōu)于使用Pdo-Mysql即時(shí)連接;
3、Pdo-Mysql即時(shí)連接性能同使用“自帶”方式?jīng)]有明顯差異。
附,Pdo-Mysql與Mysqli的每秒事務(wù)數(shù)圖:
附,對(duì)應(yīng)時(shí)間段Web服務(wù)器的內(nèi)存使用圖:
從上面兩個(gè)圖可以看出:
1. Pdo-Mysql之所以比Mysqli快,是由于Pdo-Mysql對(duì)數(shù)據(jù)庫(kù)的操作比Mysqli要少;
2. 在Pdo-Mysql使用了長(zhǎng)連接的測(cè)試中,Web服務(wù)器內(nèi)存持續(xù)上漲。
(簡(jiǎn)單查了一下,是Aapche服務(wù)的httpd進(jìn)程內(nèi)存上漲,再跟進(jìn)去模塊名顯示[匿名],后續(xù)再繼續(xù)查一下原因)
那么單純從性能角度看,Pdo-Mysql長(zhǎng)連接性能***,但有何弊端還有待查證。
關(guān)于PHP中MySQL庫(kù)的Pdo-Mysql與Mysqli性能對(duì)比的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流