mysql基本連線,mysqli,pdo,adodb,pearDB之間的區別,速度測試
測試了一下mysql基本連線,mysqli,pdo,adodb,pearDB這幾個的速度,結果如下:
用火狐測試1000次查詢:
mysql基本連線: 2.26953577995
mysql基本連線: 2.18697500229
mysql基本連線: 1.75704884529
mysql基本連線: 2.14706707001
mysql基本連線: 1.51761412621
mysql基本連線: 1.7188680172
mysql基本連線: 2.32342600822
mysql基本連線: 1.34252810478
mysql基本連線: 1.45732498169
mysql基本連線: 3.65399098396
10次總共時間: 20.3743789196
最快的時間: 1.34252810478
mysqli: 2.35137701035
mysqli: 2.01316308975
mysqli: 1.98780703545
mysqli: 2.21229410172
mysqli: 2.24351000786
mysqli: 1.49605917931
mysqli: 2.17403697968
mysqli: 2.6106979847
mysqli: 2.58286499977
mysqli: 3.17641019821
10次總共時間: 22.8482205868
最快的時間: 1.49605917931
pdo: 1.90496611595
pdo: 3.74309897423
pdo: 1.86429619789
pdo: 3.76973009109
pdo: 3.53142094612
pdo: 2.90672111511
pdo: 1.9796090126
pdo: 2.14065814018
pdo: 2.19515609741
pdo: 2.10665798187
10次總共時間: 26.14231467245
最快的時間: 1.86429619789
adodb: 2.5019569397
adodb: 2.61657714844
adodb: 2.92435717583
adodb: 2.80851197243
adodb: 2.60950493813
adodb: 2.54582691193
adodb: 2.11301803589
adodb: 2.50546598434
adodb: 2.60761213303
adodb: 2.22149610519
10次總共時間: 25.45432734491
最快的時間: 2.11301803589
pearDB: 4.00152897835
pearDB: 4.18637084961
pearDB: 4.05423617363
pearDB: 4.27408695221
pearDB: 3.83169102669
pearDB: 4.07294511795
pearDB: 4.41416597366
pearDB: 4.13296508789
pearDB: 4.28273415565
pearDB: 4.09678888321
10次總共時間: 41.34751319885
最快的時間: 3.83169102669
再次以火狐測試10000次查詢:
mysql基本連線: 21.663392067
mysqli: 20.0792491436
pdo: 30.829996109
adodb: 27.3853821754
pearDB: 40.922711134
mysql基本連線: 18.972700119
mysqli: 19.537981987
pdo: 20.9608280659
adodb: 24.1204249859
pearDB: 38.7300019264
得出結論:
mysql和mysqli速度基本差不多,或者是mysql略快;
pdo和adodb速度差不多,比mysql和mysqli要慢一些;
pearDB最慢。
那麼,實現開發中,我們該用哪個好呢?
從執行效率的角度來說,當然是用mysql基本連線或mysqli了。mysql基本連線是一堆函式,有一些功能如取得二維資料之類等可能需要自己去封裝。mysqli是php的擴充套件,是一個預定義類,功能強,使用方便,但有的伺服器上可能沒有安裝mysqli擴充套件。
pdo同mysqli一樣是php的一個擴充套件,有的伺服器可能也沒有安裝pdo,而且比mysqli略慢,所以一般不推薦使用。選擇pdo不如選擇mysqli。
adodb是php寫成的,不需要安裝額外的擴充套件,可以操作多種資料庫。所以如果你的系統可能會改變資料庫或涉及到多種資料庫,可以用adodb。但一般實際開發中都是確定的一個數據庫,所以也不建議使用。
pearDB最慢,也看不出來有什麼特別的優點,不推薦使用。
最終結論:
可用mysql基本連線,自己封裝成類。特別是開源程式,因為不確定伺服器是否可以支援mysqli,應使用mysql基本連線。
特定的專案,有自己的伺服器,可以自行安裝mysqli擴充套件,推薦使用mysqli。
mysqli在5.3.0時加上了持久連線。