:返回的時間精確到微秒,適合短時間測量。
易用性:不依賴額外擴展,PHP 原生支持。
兼容性好:在大多數Unix-like 系統和PHP 環境中均可使用。
gettimeofday函數的語法如下:
array gettimeofday([bool $return_float = false])
如果$return_float設置為true ,返回當前時間的浮點數(秒.微秒)。
如果為默認值false ,則返回包含秒數和微秒數的數組。
舉例:
$time = gettimeofday(true);
echo $time; // 例如輸出:1685021654.123456
以下是一個典型的使用MySQLi 執行SQL 查詢併計算時間的示例:
<?php
// 連接數據庫
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("連接失敗: " . $mysqli->connect_error);
}
// 記錄查詢開始時間
$start = gettimeofday(true);
// 執行 SQL 查詢
$sql = "SELECT * FROM users WHERE status = 1";
$result = $mysqli->query($sql);
if (!$result) {
die("查詢错误: " . $mysqli->error);
}
// 记录查詢结束时间
$end = gettimeofday(true);
// 计算執行时间
$duration = $end - $start;
echo "SQL 查詢執行时间: " . round($duration, 6) . " 秒\n";
// 釋放結果集
$result->free();
// 關閉連接
$mysqli->close();
?>
使用gettimeofday(true)獲取帶小數點的浮點秒數。
查詢開始前記錄$start ,查詢後記錄$end 。
兩者相減即為查詢所用的秒數(浮點數表示,含微秒)。
使用round()保留6位小數,顯示微秒級時間。
利用gettimeofday函數精確計算SQL 查詢執行時間,能夠幫助開發者發現性能瓶頸,進一步優化數據庫查詢效率。該方法簡單高效,適合絕大多數PHP 應用場景。