数据量比较大时,Laravel 获取分页数据比较耗时,明显慢很多,请问您是怎么解决的呢?

/ Query 1 - 2018-08-30 13:16:22 [240.3ms] /
select from video where create_time >= '1535558400000' and like_count >= '0' order by like_count desc, create_time desc limit 30 offset 0;
/
==================================================/
/
Query 1 - 2018-08-30 13:20:23 [3467.66ms] /
select
from video where create_time >= '1535558400000' and like_count >= '0' order by like_count desc, create_time desc limit 30 offset 5970;
/==================================================/

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 9
dreamfish

有很多方法的。简单一点的可以做缓存优化。

1年前 评论

like_count 这个字段区分度应该不高

1年前 评论

你找到解决方案 了吗, @tim-laravel 我在阿里云写sql只要600多毫秒,但是使用laravel 分页就要一秒多 了

11个月前 评论

ajax做分页,要加载数据的时候 在加载

11个月前 评论

这种能否从业务逻辑上优化呢?现在貌似有不少是按权重的这种概念来解决,权重与创建时间、点赞数有关,并且会定时对一些记录进行降权处理,否则后期可能还会有浏览次数呀,评论数这些需要加到排序里面

11个月前 评论

楼主找到解决方案了吗?我也碰到同样的问题,sql执行1秒多 分页10+秒

3个月前 评论
66

laravel的分页 会先统计一次总数 所以使用 分页会 其实会执行2条SQL

3个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!