如果開啟數據庫的調試模式的話,你可以對數據庫執行的任何SQL操作進行監聽,使用如下方法:
~~~
Db::listen(function($sql, $time, $explain){
// 記錄SQL
echo $sql. ' ['.$time.'s]';
// 查看性能分析結果
dump($explain);
});
~~~
> 默認如果沒有注冊任何監聽操作的話,這些SQL執行會被根據不同的日志類型記錄到日志中。
`V5.0.19+`版本開始,`listen`方法增加`master`參數用于標記當前的主從查詢。
~~~
Db::listen(function ($sql, $time, $explain, $master) {
// 記錄SQL
echo $sql . ' [' . $time . 's] ' . ($master ? 'master' : 'slave');
// 查看性能分析結果
dump($explain);
});
~~~