报表效率优化问题

一个单元格一个条件这种的报表 如何才可以大幅度的提高效率呢 SQL运行只有两秒左右

FineReport 3333xzx 发布于 2024-8-15 15:39
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-8-15 16:24

转换成多列字段,,,不要用单元格过滤,不然神仙来了也优化不了,你必须要借用数据库的性能去展示了

类似如下,把列字段放在单元格,这样就不用单元格过滤了!!

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

select 

case when aa='1' then bb else null end as 字段1,

case when aa='2' then bb+3 else null end as 字段2,

case when aa='3' then bb+ct else null end as 字段3

from 表名称

  • 3333xzx 3333xzx(提问者) 100个字段也可以吗
    2024-09-02 14:45 
  • CD20160914 CD20160914 回复 3333xzx(提问者) 你这个举例是极端 ,如果真的有100个字段也是一样的,我做资产负债的时候总共是280我个字段,全是case when 出来的。但是一点不慢。因为它是用数据库的性能查询出来的数据!肯定比你的过滤要快很多了
    2024-09-02 15:12 
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-8-15 15:41

过滤都建议在SQL中统一过滤

不使用单元格过滤

性能优化指导手册 https://help.fanruan.com/finereport/doc-view-435.html

性能优化FAQ https://help.fanruan.com/finereport/doc-view-4201.html

最佳回答
0
runnerLv7资深互助
发布于2024-8-15 15:41

image.png

试试这个

最佳回答
0
就TM你叫夏洛啊Lv6中级互助
发布于2024-8-15 16:15

页面要是复杂的话最好还是在sql里面进行操作。过滤,条件啥的能在sql就在sql里。

  • 5关注人数
  • 232浏览人数
  • 最后回答于:2024-8-15 16:24
    请选择关闭问题的原因
    确定 取消
    返回顶部