Laravelでquery logをexplainするsnippet
code:php
# 有効にしたい区間で以下実行する
DB::enableQueryLog();
〜中略〜
$queries = DB::getQueryLog();
foreach ($queries as $query) {
if (Str::startsWith($query
'query'
, 'select')) {
$q = sprintf(preg_replace('/\?/', '%s', $query
'query'
), ...$query
'bindings'
);
dump($q);
dump(DB::select('explain ' . $q));
}
}