PageHelper自定义count(*)查询

因数据量太大,使用分页插件PageHelper解析sql,执行sql时会count一遍总计录数,此时会将数据库卡死;

使用分页插件执行,会嵌套一层SELECT COUNT(*) FROM (主sql) tmp_count

SELECT count(*)
FROM (SELECT
        c.company_name,
        c.company_type,
        ...
      FROM company c
        INNER JOIN t_seller ts ON ts.city_site_id = c.city_site_id
        ....
      WHERE c.city_site_id = 1) tmp_count
希望自定义个cout方法统计总记录数,删减不必要的表关联、字段,
应如何入手?
阅读 20.1k
5 个回答

为啥不用 主SQL 把数据拉回来,然后

ResultSet rs = ps.executeQuery();
rs.last();
int count = rs.getRow();

这个 PageHelper 是配合哪个框架来用的?Hibernate 还是 mybatis 还是其他的

新手上路,请多包涵

https://github.com/pagehelper...
最新的5.1.5已经解决这个问题了,如果没有聚合函数 ,自动把select后面的条件变成select count(0),不会外面套一层。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏