数据量过大的情况下 PageHelper + mybatis 导致查询速度慢

重写 PageHelper 对应列表的查询count方法即可

如mapper中原列表查询方法

List<Type> findByPage(@Param("beginTime") String beginTime, @Param("endTime") String endTime);

将这个方法复制一下方法名 加上 _COUNT , PageHelper 就会自动加载定义的这个方法而不是执行PageHelper 生成的

Long findByPage_COUNT(@Param("beginTime") String beginTime, @Param("endTime") String endTime);

//这个count sql 可以适当优化一下 去掉不需要的联查啥的,返回类型必须是Long
 <select id="findByPage_COUNT" resultType="java.lang.Long">
        SELECT count(0) FROM table  
    <where>
      列表的条件直接放进来
    </where>
 </select>
posted @ 2022-07-27 15:24  qwer78  阅读(1560)  评论(0)    收藏  举报