これを試してください:
<?php
$host='localhost';
$username='testing';
$password='testing';
$dbname='test';
$DBC = new mysqli($host,$username,$password,$dbname);
$DBC->query('set profiling=1');
$DBC->query('SELECT * FROM abc');
if ($result = $DBC->query("SHOW profiles", MYSQLI_USE_RESULT)) {
while ($row = $result->fetch_row()) {
var_dump($row);
}
$result->close();
}
if ($result = $DBC->query("show profile for query 1", MYSQLI_USE_RESULT)) {
while ($row = $result->fetch_row()) {
var_dump($row);
}
$result->close();
}
$DBC->query('set profiling=0');
?>
最初のif
ステートメントは、次のようにクエリの全体的な実行時間を示します。
array(3) { [0]=> string(1) "1" [1]=> string(10) "0.00024300" [2]=> string(17) "SELECT * FROM abc" }
2番目のif
ステートメントは、クエリの詳細な実行時間を示します。mysql内部プロファイラーを使用しているため、結果は正確である必要があります。