Laravel命令通过减慢响应速度

时间:2020-05-15 11:55:08

标签: mysql laravel performance eloquent sql-order-by

我正在使用Eloquent从数据库中获取结果。

该表具有大量行(〜1百万),使用orderBy()时响应时间大大增加。

这是我的查询,只是一个简单的搜索字符串匹配项:

Movie::selectRaw("id, title, poster")->whereRaw("MATCH(title) AGAINST('$search*' IN BOOLEAN MODE)")->orderBy('popularity', 'desc')->take(10)->get();

不幸的是,必须按受欢迎程度排序,因为否则前10个结果几乎总是无关紧要的。

如果有帮助的话,我曾经使用where('title', 'LIKE', '%'.$search.'%'),但是后来我将方法更改为MATCH(title) AGAINST('$search'),从而显着提高了性能,但遗憾的是orderBy()却扼杀了这种改进。

有什么办法可以加快这个过程,或者有一种解决方法,所以我可以完全避免使用orderBy()

0 个答案:

没有答案