我今天試射PDO的表現是這樣的:PDO對象性能
<?php
$start = microtime(true);
new PDO("mysql:host=localhost;dbname=mw", 'root', '');
$stop = microtime(true);
echo $stop - $start;
,結果是相當令人吃驚
ELLAPSED(在我的Windows 8.1筆記本電腦本地運行):1.0117259025574
在一個腳本執行,我將PDO對象緩存在一個靜態變量中,所以我不必爲另一個查詢創建一個新的。 但是這種緩存方法只在腳本執行期間有效。
我的腳本運行在1.25秒其中1.01用於創建PDO對象。 有沒有辦法爲整個會話或多個用戶緩存PDO對象?
我錯過了什麼嗎?
這不是上運行的基準測試環境的類型。 – 2014-10-29 13:10:07
它*可能*也是使操作變慢的數據庫。這裏有太多的移動部件可以肯定地說出任何事情。在我的常規環境中,速度肯定會快很多。 – deceze 2014-10-29 13:13:51
在我5歲的Win7筆記本電腦上運行你的代碼(這是非常低規格的開始)返回像'0.00019407272338867'這樣的值。緩存PHP對象不應該是你的出發點。什麼時候你得到一個非常簡單的'for($ i = 1; $ i <= 1000000; $ i ++){\t}'? – rjdown 2014-10-29 13:41:27