请问分页可以把page和pagesize传到sql里吗?

我有个数据集有1700条数据,75个字段,如果都查出来的话,页面渲染要90秒左右,就算渲染出来了滑动滚动条也很卡,用了分页预览还是很卡,我觉得分页预览的内部机制是不是仍然把1700条数据查到前台了,只是在前台处理后展示一下而已?如果可以再sql里处理分页就解决了,比如limit ?,?   然后前台传page和pagesize就可以了,这样每次就只查出10条的话,渲染的就快了,有这种方法吗?或者有什么其他办法解决吗?我试过分页预览,还是很慢,然后在条件属性里也增加过row()%10=0这种分页,还是很慢,所以我猜测这个分页肯定是把1700都查出来后  然后一起处理的,这种方式太垃圾了。。

FineReport gujinxing 发布于 2020-5-14 15:41
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2020-5-14 15:44

单数据集分页 SQL 实现层式报表-https://help.finereport.com/doc-view-996.html


  • gujinxing gujinxing(提问者) 对对对,我就是这个意思,要的就是这个,谢谢你哦~
    2020-05-18 09:04 
最佳回答
0
luojian0323Lv7资深互助
发布于2020-5-14 16:17(编辑于 2020-5-14 18:20)
select c.* from(
SELECT a.*,b.TABLE_ROWS,floor((a.`行号`-1)/${tiao})+1 as 当前页,round(b.TABLE_ROWS/(${tiao})) as 页数 FROM
(
SELECT (@i:=@i+1)"行号", t.* FROM `stock` t,(select @i:=0)j)a,
information_schema.`TABLES` b
WHERE b.TABLE_NAME = 'stock'and TABLE_SCHEMA='production')c
where c.当前页=${page}

以上是我自己mysql数据库中的表,在参数面板上分别添加两个控件,控件tiao定义每页的条数,

控件page 定义第几页.


  • gujinxing gujinxing(提问者) 。。。大哥,我是说有没有使用sql分页的方式与前台交互,不是问分页的sql咋写,,,分页sql谁不会写,你给我贴个sql干啥。。。。
    2020-05-14 17:06 
  • luojian0323 luojian0323 回复 gujinxing(提问者) 更新回答,不知道是否能帮助你
    2020-05-14 18:21 
  • gujinxing gujinxing(提问者) 虽然不是我要的答案,但是仍然感谢你的回答,谢谢~
    2020-05-18 09:05 
  • 3关注人数
  • 593浏览人数
  • 最后回答于:2020-5-14 18:20
    请选择关闭问题的原因
    确定 取消
    返回顶部