laravel中内置了一个非常好用的分页类,基本上很容易就能解决数据展现的问题,但是在mysql中innodb引擎下就出现了他的弊端了。

laravel的分页中,为了查询总数据数,便于分页,每次查询都会count但是在innodb下,count是没有优化的,在数据量不大的情况下确实能够带来很大的方便。

但是在数据量非常大的情况下,会导致count查询非常的慢,后期数据量的持续增加导致无法读取数据,页面超时。

解决思路:

1.使用简单分页simplePaginate,这样不再去count查询总数,但是页面也只能上一页下一页,牺牲了完整性
2.配合ajax做延迟加载,通过limit偏移进行数据慢慢加载,以前的php laravel+jq实现滚动到底部进行数据加载,延时加载,懒加载
有写
当然使用mysiam引擎就没有这方面的问题,但是在有数据并发插入还是innodb比较好,也可以进行读写分离去考虑解决方法

Logo

更多推荐