【发布时间】:2014-08-07 21:57:09
【问题描述】:
这听起来像是一个显而易见的问题,但我只是想得到一些保证。
使用 Laravel 的快速加载功能,据我了解,它将创建 两个查询 以返回相关结果的完整列表(例如,如果您正在使用两个表)。但是,如果我错了,请纠正我,使用 join 语句将只留下 一个查询,这样可以减少到服务器数据库 (MySQL) 的往返次数,并且是一种更有效的查询。
我知道你可以在 Laravel 中编写连接查询,这很棒,所以问题是:我是否错误地假设当从两个或多个表中检索相关数据时,我是否应该不用急于加载而只写我自己的加入语句?
****** 编辑 *******
一年后回到这个话题,我个人认为,只要把查询写下来,原始的,然后写好。
********* 编辑 2 *********
好吧,六年后的今天,我一直为此获得积分。
无论我是否从一开始就不清楚,与我上面所说的相反,Eloquent 在这一点上写了很好的查询。 使用 Eloquent - 即使有轻微的查询效率低下,它也可以让您编写非常清晰、可维护的代码,在我职业生涯的这一点上,我认为这在大多数情况下更为重要案例。仅在性能增强至关重要且您可以衡量影响的情况下编写原始查询并进行优化。
【问题讨论】:
-
你说的太对了。 Eloquent 不是为性能而生的:耸肩
标签: mysql performance join laravel processing-efficiency