2011-10-09 43 views
1

我正在使用PDO來測量完成查詢需要多長時間?測量查詢的時間

+0

請告訴我們您正在使用哪個數據庫。 –

+0

哎呀對,我假設MySQL,我們需要知道它是否真的是MySQL! – stivlo

回答

5

你可以使用microtime中(真)去執行所需的秒:

$start = microtime(true); 
//Your code 
echo 'Time needed: ' . (microtime(true) - $start) . '.'; 

爲了得到更準確的時間,你應該做的測試多次(10000這裏):

$start = microtime(true); 
for ($i = 0; $i < 10000; ++$i) { 
    //Your code 
} 
echo 'Time needed: ' . (microtime(true) - $start) . '.'; 

@ Baz1nga,該代碼不起作用,因爲microtime_float()不是一個函數(對不起,我不能評論,需要更多的聲譽:()

1

您是否嘗試過使用Micro Time來測量時間。圍繞這段代碼圍繞你想測量的任何東西,你應該得到時間。

$time_start = microtime_float(); 

// code to be measured 

$time_end = microtime_float(); 

$timeMeasured = $time_end - $time_start; 


function microtime_float() 
{ 
    list($usec, $sec) = explode(" ", microtime()); 
    return ((float)$usec + (float)$sec); 
} 
+0

請看@Sietse的回答,他正在和你說話。 – Rym

0

正如Sietse所說,使用microtime函數來測量經過的微秒。

如果你測試查詢之前測試的MySQL,執行以下查詢:

RESET QUERY CACHE; 

否則,如果該查詢是真正執行還是從查詢緩存被檢索你不能肯定(它可以是一個很大的區別)。