登录注册

18250178511

针对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