针对laravel groupBy分页优化修改
作者:admin
时间:2017-08-22 14:51:02
在做项目开发的时候,有个需求是先groupBy然后再分页显示,随着数据越来越大,我发现查询速度越来越慢,后来经过分析,发现是这样子的一个语句造成的速度慢的,语句如下
select count(*) as aggregate from `reserves` group by `domain`, `type`用时大概五六秒左右
查看laravel源码,发现是这样子写的
从代码中可以看得出,是先通过数据库查出结果集,然后count返回总的条数。
经过测试,我发现如下的语句可以加快查询的速度:
select count(*) as aggregate from (select count(*) as aggregate from `reserves` group by `domain`, `type`) as tt
于是 修改代码如下
果然 速度提升明显
经重新编辑,支持参数传入
文件位置
vendor/illuminate/database/Query/Builder.php

评论列表
匿名
purchase flexeril sale - <a href="https://rcyclobenzapri.com/">buy cyclobenzaprine 15mg for sale</a> cost inderal 20mg
2022-06-25 19:20:18
匿名
order accutane without prescription - <a href="https://razithromycin.com/">brand zithromax</a> buy generic tetracycline
2022-06-24 02:40:58
匿名
modafinil pill - <a href="https://prednispill.com/">prednisone 5mg for sale</a> oral rhinocort
2022-06-22 08:42:55
匿名
overnight delivery viagra - <a href="https://rtadalafil.store/">order tadalafil online</a> buy cialis 5mg sale
2022-06-20 21:01:37
匿名
order cenforce 100mg generic - <a href="https://stromectolir.com/">stromectol 3mg price</a> motilium pills
2022-06-19 11:26:23