查看一张并行取数报表的sql执行监控,发现一个4秒跑完的sql跑了全程15秒

image.png跑了15秒,相当于这个sql报表查询的全程都在跑,但是把sql复制出来在数据库取数发现只要3-4秒是什么原因导致的,不止这一个sql,有好多都实际3-4秒结果执行监控发现都是10多秒,数据库线程50,报表数据集22

FineReport 用户F6213100 发布于 2024-8-19 09:46
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-8-19 09:48

这个影响比较多

网络带宽这些,

优化报表取数 https://help.fanruan.com/finereport/doc-view-1003.html

  • 用户F6213100 用户F6213100(提问者) 一个sql通常都在3-4秒能取出来,但是导出sql执行监控发现,好几段数据集几乎在报表查询的全时段都在跑,是不是哪里设置出了问题,但是数据库的线程数是高于我的数据集数的
    2024-08-19 09:52 
  • 华莉星宸 华莉星宸 回复 用户F6213100(提问者) 报表查询的时候,是会查询你这个报表所有用到的数据集的啊
    2024-08-19 09:53 
  • 用户F6213100 用户F6213100(提问者) 回复 华莉星宸 但是我设置了并行取数,然后我以为设置并行取数后再保证数据库的线程多于数据集的话应该能明显缩短时间的,但是整个报表查询时间在16秒多
    2024-08-19 09:54 
  • 华莉星宸 华莉星宸 回复 用户F6213100(提问者) 并行取数你勾选模板没? 你可以设置一下数据缓存,看看是否快一些
    2024-08-19 09:57 
  • 用户F6213100 用户F6213100(提问者) 回复 华莉星宸 勾选了,没勾选前更久,30秒左右,设置并行取数后时间到了15秒左右,要实时的,所以没法设置数据缓存,现在就对这个并行取数有疑问,为啥一个4秒的sql在并行取数里跑了15秒
    2024-08-19 10:01 
最佳回答
0
用户k6280494Lv6资深互助
发布于2024-8-19 09:48

在报表中会消耗一些性能

  • 用户F6213100 用户F6213100(提问者) 每个数据集都在5秒内,在设置并行取数后总报表时长在15秒多,有几段查询sql数据集发现他们的时长几乎贯穿整个查询时间段,而且数据库的线程数是高于数据集数的
    2024-08-19 09:53 
最佳回答
0
豆豆小可爱Lv5中级互助
发布于2024-8-19 09:52

你确定数据库中取数3-4秒是取的全部数据吗?在报表里面确实会时间稍微长一点,但是差距不会这么大

  • 用户F6213100 用户F6213100(提问者) 是一个数据集的sql查询时间是3-4秒,然后我导出那个sql执行监控,发现这个sql用了15秒,相当于整个查询时间段都在跑
    2024-08-19 09:55 
  • 豆豆小可爱 豆豆小可爱 回复 用户F6213100(提问者) 这个SQL,在单独预览数据集的时候也是3-4秒吗?
    2024-08-19 11:27 
最佳回答
0
1592Lv6高级互助
发布于2024-8-19 09:58

线程调大点试试,数据集22个?最长的几秒

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