Laravel 打印慢查询 SQL 语句到日志文件
admin 阅读:77 2024-03-03
Laravel 开发的程序运行较慢,在优化的过程中需要打印慢查询 SQL 语句以便排查,方法如下:
在 appProvidersAppServiceProvider.php 文件的 boot 方法中添加下面的代码,不要忘记引用 DB 类和 Log 类。
DB::listen(function($query){
$sql = $query->sql;
$bingings = $query->bindings;
$time = $query->time;
Log::debug(compact('sql','bingings','time'));
});
还可以打印执行时间超过指定值的 SQL 语句:
DB::listen(function($query){
$sql = $query->sql;
$bingings = $query->bindings;
$time = $query->time;
if($time > 5){
Log::debug(compact('sql','bingings','time'));
}
});
效果:

声明
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!