登录注册

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


发表评论

评论列表

匿名

aldactone 100mg cost <a href="https://galdacton.com/">aldactone oral</a> order diflucan 100mg online cheap

2022-12-04 12:14:11

匿名

avodart 0.5mg for sale <a href="https://gzofram.com/">order ondansetron 4mg generic</a> buy zofran 4mg

2022-12-03 04:38:34

匿名

losartan over the counter <a href="https://gnnexi.com/">esomeprazole 20mg us</a> sumatriptan order online

2022-11-30 14:53:47

匿名

buy colchicine 0.5mg generic <a href="https://gnmethotrexat.com/">methotrexate 10mg us</a> methotrexate 10mg usa

2022-11-28 14:09:49

匿名

order cialis without prescription <a href="https://tadaledplls.com/">cialis pill</a> purchase toradol for sale

2022-11-26 07:26:51