【发布时间】:2020-05-15 18:35:48
【问题描述】:
我知道我可以从查询日志中获取原始查询,粘贴所有绑定的变量(也可以在查询日志中找到),在查询前面添加explain,然后直接在 mysql 中运行控制台以获取查询的解释....但是有没有更快的方法来获取解释?
理想情况下,我想做这样的事情:
$query = User::where("favorite_color", "blue");
dd($query->explain());
(显然,实际的查询要复杂得多,并且有一些连接)
我尝试像这样添加explain:
$query->selectRaw("explain select user.*");
但这导致查询以:
开头select explain select...
... 这只是无效的 sql。
【问题讨论】:
-
据我所知,没有功能可以做到这一点。您必须使用查询生成器创建查询并手动添加
EXPLAIN。然后你可以手动执行这个查询。