首先记录的是在任务中遇到的问题,使用PageHelper只是其中的一方面(最后并没有用),所以想深入学习PageHelper的童鞋可以移步到其他博客啦~
在这里提供两个链接:
PageHelper的GitHub地址
别人写的一个PageHelper分页查询方法
下面开始从头到尾记录下任务中的问题和我的解决方法
需要实现的功能:
主要目的是查询数据,返回的是给定的日期中,不同条件下的数据及日环比。即:
(1)给定日期( startDate 2018-08-01 endDate 2018-08-20 )
(2)给定其他查询参数(bucket、business、platform等)
查询满足给定的条件下的数据(PV、UV、ClickPV、ClickUV)及日环比(2018-08-01 PV PVChange)
发现问题
需要从MySQL查找数据量较大,从查找到显示用时较长。有两方面原因:
(1)查找数据时间较短,但前端显示加载时间较长。导致这个问题出现的原因就是返回数据量大,这种情况使用分页功能,返回给定页面的数据比较合适。
(2)在MyBaits中计算变化时耗时较长。最好是只在SQL中进行数据的查询,返回结果后在Impl中进行日环比等变化数据的计算。
解决步骤一:
方法:使用MySQL的limit
分页查询
代码格式:
limit (pageNumber-1)*pageSize, pageSize
查询数据实际代码:
select dt, (a.pv, a.pv-b.pv)/b.pv as change
from(
select dt, pv