Laravel 急于加载的集合查询速度慢

Laravel 急于加载的集合查询速度慢,laravel,collections,Laravel,Collections,将Laravel的版本更新为5.5后,我急切加载的收藏现在查询起来要慢得多 我的收藏中加载了大量数据,但这在升级之前不是问题。但是,我可以一致地显示代码与laravel 5.4一起工作,但在5.5 我以前的问题是: $this->holidays->where('attributes.date',$date->format('Y-m-d'))->first(); 其中,$this引用集合 然而,升级到5.5后,这不再有效,我不得不将语法更改为这个 $this->holidays->where(

Laravel
的版本更新为
5.5
后,我急切加载的收藏现在查询起来要慢得多

我的收藏中加载了大量数据,但这在升级之前不是问题。但是,我可以一致地显示代码与
laravel 5.4
一起工作,但在
5.5

我以前的问题是:

$this->holidays->where('attributes.date',$date->format('Y-m-d'))->first();
其中,
$this
引用集合

然而,升级到5.5后,这不再有效,我不得不将语法更改为这个

$this->holidays->where('date',$date)->first();
我认为这是因为现在碳物体的日期发生了变化

使用原始代码,我的页面将在更改后大约10秒钟内加载,现在需要一分钟


如果我限制了急切加载的假期,这次我可以降低成本,但我真的很想找到一种方法,在相同的数据集上获得与以前相同的性能。

为什么不直接升级到最新版本(6.0)因为5.8在我升级的时候是稳定的版本,在我解决这个问题之前我不想再推出另一个版本。我怀疑这是因为使用了碳$在该查询中,日期将与碳精确转换一次。尝试检查每个版本中查询生成的SQL。是否尝试了
->whereDate()
函数?我不知道为什么在您的情况下会这么慢,但我正在使用
->whereDate()
函数处理这种情况,我从未注意到这样的性能问题。@因为收集的数据似乎是相同的,所以我认为SQL查询是相同的。不过我会仔细检查一下。为什么不直接升级到laravel的最新版本(6.0)?因为5.8是我升级过程中的稳定版本,在我解决这个问题之前,我不想引入其他版本。我怀疑这是因为使用了碳$在该查询中,日期将与碳精确转换一次。尝试检查每个版本中查询生成的SQL。是否尝试了
->whereDate()
函数?我不知道为什么在您的情况下会这么慢,但我正在使用
->whereDate()
函数处理这种情况,我从未注意到这样的性能问题。@因为收集的数据似乎是相同的,所以我认为SQL查询是相同的。不过我会再检查一遍。