帆软Report超大数据量(百万级)如何做缓存(存在数据集参数)

目前写sql从数据表抽取数据发现速度过慢,因为表中存在百万级数据量,导致看板查询速度过慢,如何做优化呢?(存在数据集参数)

FineReport Henry.99 发布于 2025-3-18 19:01
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-3-18 19:08(编辑于 2025-3-18 19:31)

找一个开源工具,比如kettle,做增量更新,比如10分钟或者5分钟更新一次吧,这么大的量,肯定要增量更新,按日期或者主键ID来更新,抽取过来后,你就做数据处理了。。

kettle篇: 增量更新_kettle增量更新数据-CSDN博客

image.png

再用工具kettle把它弄成右边那样汇总一下呀!!这样数据行减少了N倍,查询怎么都快!

领导一般肯定看汇总,业务一般要明细。如果是真正的明细,那么你的数据库要增加索引!!而且前端的时候要做真正的分页,不是现在默认的那个行后分页!!!通过在数据集写序号后,然后前端改造一下传参数,这样去分页!

image.png

  • Henry.99 Henry.99(提问者) 你好,我的问题意思是,表已经存在了很多数据,我写SQL已经查询的很慢了,Kettle不是做数据更新的吗?跟查询没有什么关系吧
    2025-03-18 19:12 
  • CD20160914 CD20160914 回复 Henry.99(提问者) 表中很多数据的话,你看报表是看汇总,那么直接再做一个数据同步处理,只要汇总呀!!比如200万行的数据,按维度汇总后,可能只有10000行了,这个是结果表,那么查询肯定就快呀!而不是在前端直接查询几百万或者上千万的明细表汇总,那么加上索引也不一定快!!
    2025-03-18 19:14 
  • Henry.99 Henry.99(提问者) 你好,感谢你得回复,但是我有一点不理解的是在于,如果我需要从5张表去联查数据,那么使用Kettle的话你的意思是想把五张表的数据汇总到一张表中吗?如果这样的话会存在一个问题就是我按照什么维度来汇总呢?
    2025-03-18 19:27 
  • CD20160914 CD20160914 回复 Henry.99(提问者) 对的,如果你从5张表查询数据,你可以按你要的维度汇总后放一张,弄一个汇总类型的字段,那么用户查询什么维度的时候选择参数就行了。!看上面截图
    2025-03-18 19:31 
  • CD20160914 CD20160914 回复 Henry.99(提问者) 一辆100匹马力的车子,强行拉了10个人,你说在不做任何修改的前提下,让它在高速出200公里的时速。你认为行不行??
    2025-03-18 19:34 
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-3-18 19:03

缓存功能简介 https://help.fanruan.com/finereport/doc-view-998.html

新计算引擎简介 https://help.fanruan.com/finereport/doc-view-3135.html

-----------------

谁会看这么明细的数据啊~百万级的~~

  • Henry.99 Henry.99(提问者) 你好,我们不会看明细的数据,我们会按照维度来汇总,例如:按照分公司维度查看营销额等
    2025-03-18 19:08 
  • 华莉星宸 华莉星宸 回复 Henry.99(提问者) 写存储过程,按照对应的维度先汇总数据哈~
    建立数据仓库,分层处理数据
    2025-03-18 19:20 
  • Henry.99 Henry.99(提问者) 回复 华莉星宸 有其他方法嘛?这边想通过帆软端来处理
    2025-03-18 19:30 
  • 华莉星宸 华莉星宸 回复 Henry.99(提问者) 用FINEBI处理试试~
    2025-03-19 08:12 
  • 4关注人数
  • 61浏览人数
  • 最后回答于:2025-3-18 19:31
    请选择关闭问题的原因
    确定 取消
    返回顶部