NaifyDb\Profiler\QueryProfiler クラス

implements NaifyDb\Profiler\QueryProfilerInterface

クエリプロファイラ — SQL の実行ログを記録する

Connection に設定すると、発行した SQL・バインド値・実行時間を自動記録する。 デフォルトでは OFF。Adapter の fluent API または Connection::setProfiler() で有効化する。

使用例

$profiler = new QueryProfiler();
$conn->setProfiler($profiler);
$conn->fetchAll('SELECT * FROM users WHERE id > ?', [10]);
$logs = $profiler->getLogs();
// [['sql' => 'SELECT ...', 'bindings' => [10], 'time_ms' => 0.42]]

プロパティ

名前型説明
private $logs array 記録済みクエリログ

メソッド

メソッド説明
public log(string $sql, array $bindings, float $timeMs): void クエリログを 1 件追加する
public getLogs(): array 記録済みログを返す 8.4 → property hooks
public clear(): void ログを全消去する
public count(): int 記録件数を返す
public totalTime(): float 合計実行時間を返す