Mysql 不同于雄辩查询和phpmyadmin的持续时间
我在Laravel 5.5中有一个应用程序。 我已安装此库,以便在我的应用程序上查看查询: 现在,在我的应用程序中,通过library,我可以看到我进行了一个大的查询,如: 选择Mysql 不同于雄辩查询和phpmyadmin的持续时间,mysql,laravel,eloquent,Mysql,Laravel,Eloquent,我在Laravel 5.5中有一个应用程序。 我已安装此库,以便在我的应用程序上查看查询: 现在,在我的应用程序中,通过library,我可以看到我进行了一个大的查询,如: 选择values*,user\u valueuser\u id作为 pivot\u user\u id,user\u valuevalue\u idas pivot\u value\u idfromvaluesinternal joinuser\u valueon 值id=user\u valuevalue\u id其中 u
values
*,user\u value
user\u id
作为
pivot\u user\u id
,user\u value
value\u id
as
pivot\u value\u id
fromvalues
internal joinuser\u value
on
值
id
=user\u value
value\u id
其中
user\u value
user\u id
位于('1','2','3','4','5','6','7',中,
'8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19',
‘20’、‘21’、‘22’、‘23’、‘24’、‘25’、‘26’、‘27’、[……])和
值
处的已删除\u为空
在那里[…]还有4000个id需要查找
奇怪的是,如果我在Phpmyadmin中复制并粘贴查询,查询需要0.0492秒,但在调试控制台中,我看到查询需要3.86秒。
所以这和持续时间不同,我不明白为什么。
有什么问题吗
我的应用程序查询与Elount一起进行,结果如下:
$users= User::with('values')->find($request->input('users'));
其中,$request->input('users')
是ids数组。问题似乎可能来自laravel正在执行的绑定,因为在调试栏中,似乎是相同的请求,但不是,一个在使用绑定,而另一个没有
我在这里有一个关于laravel框架的公开问题:
因此,在某些情况下,您可能需要执行以下操作:
$users = User::find($request->input('users'));
$values_per_user = Value::whereRaw("id in ('" . implode("','", $users->pluck('id')->toArray()) . "')")->get()->groupBy('user_id');
在您处于用户上下文中之后,您可以执行以下操作:
$values=$values\u每用户[$user->id]
不适用于任何地方(例如,如果您在自定义getter或函数中使用关系),但它可以满足简单的需求问题可能来自于laravel正在执行的绑定,因为在调试栏中,似乎是相同的请求,但不是,一个在使用绑定,而另一个没有
我在这里有一个关于laravel框架的公开问题:
因此,在某些情况下,您可能需要执行以下操作:
$users = User::find($request->input('users'));
$values_per_user = Value::whereRaw("id in ('" . implode("','", $users->pluck('id')->toArray()) . "')")->get()->groupBy('user_id');
在您处于用户上下文中之后,您可以执行以下操作:
$values=$values\u每用户[$user->id]
不适用于任何地方(比如在自定义getter或函数中使用关系),但它可以满足简单的需要