永洪社区

标题: 查看报告初始化报表很慢,如何优化 [打印本页]

作者: 太阳福音    时间: 2023-1-11 09:45
标题: 查看报告初始化报表很慢,如何优化
打开报表初始化等等5分钟以上才能打开,怎么提高报表初始化速度

作者: 曾梦闵    时间: 2023-1-11 09:45
大概数据同步也可以,先把数据抽取过来。
作者: yhdata_yzm    时间: 2023-1-11 09:47
可能跟sql查询速度有关系,可能跟组件的使用有关系,可能跟你需要加载的数据量有关系
作者: 太阳福音    时间: 2023-1-11 09:53
yhdata_yzm 发表于 2023-1-11 09:47
可能跟sql查询速度有关系,可能跟组件的使用有关系,可能跟你需要加载的数据量有关系 ...

那如何定位问题呢
作者: yhdata_yzm    时间: 2023-1-11 09:54
太阳福音 发表于 2023-1-11 09:53
那如何定位问题呢

需要看日志
作者: 太阳福音    时间: 2023-1-11 09:57
yhdata_yzm 发表于 2023-1-11 09:54
需要看日志

是消息中心这里吗
作者: 太阳福音    时间: 2023-1-11 10:00
yhdata_yzm 发表于 2023-1-11 09:54
需要看日志

消息中心吗

作者: yhdata_ruby    时间: 2023-1-11 10:12
太阳福音 发表于 2023-1-11 10:00
消息中心吗

这里看一下



作者: 太阳福音    时间: 2023-1-11 10:21
yhdata_ruby 发表于 2023-1-11 10:12
这里看一下

日志显示什么原因呢

作者: yhdata_lyaa    时间: 2023-1-11 10:26
太阳福音 发表于 2023-1-11 10:21
日志显示什么原因呢

参考https://club.yonghongtech.com/thread-15611-1-1.html
作者: 太阳福音    时间: 2023-1-11 10:39
yhdata_lyaa 发表于 2023-1-11 10:26
参考https://club.yonghongtech.com/thread-15611-1-1.html

能帮我看看SQL有优化空间吗,为什么执行数据超时呢
select *
from
(
-- 日维度
select
cast(part_dt as date) as dates        --        PART_DT
,part_dt        --        PART_DT
,'日' as time_type
,series_name                                --        车系名称
,case when series_name='汇总' then 1 else 2 end car_num        --        车系排序
-- 平台
,cum_act                                        --        平台累计启动数
,cum_act_and_auth                        --        平台累计启动认证数
,cum_act-cum_act_and_auth as a1        --        平台累计启动未认证数
,day_new_act                                --        平台新增启动数
,day_new_act_auth                        --        平台新增启动认证数
,day_new_act-day_new_act_auth        as a2        --        平台新增未启动数
,cum_act_com_auth                        --        平台累计启动认证过数
,cum_act_vin                                --        平台累计启动认证车辆数
,day_act                                        --        平台启动数
,day_act_auth                                --        平台启动认证数
,day_act-day_act_auth as a3        --        平台启动未认证数
,day_act/cum_act as        a4                 --  平台累计活跃率
,day_act_auth/cum_act_and_auth as a5 -- 平台累计认证活跃率
,(day_act-day_act_auth)/(cum_act-cum_act_and_auth) as a6 -- 平台累计未认证活跃率

-- APP
,cum_app_act                                --        APP累计启动数
,cum_app_act_and_auth                --        APP累计启动认证数
,cum_app_act-cum_app_act_and_auth        as a7        --        APP累计启动未认证数
,day_app_new_act                        --        APP新增启动数
,day_app_new_act_auth                --        APP新增启动认证数
,day_app_new_act-day_app_new_act_auth        as a8        --        APP新增启动未认证数
,cum_app_act_com_auth                --        APP累计启动认证过数
,cum_app_act_vin                        --        APP累计启动认证车辆数
,day_app_act                                --        APP启动数
,day_app_act_auth                        --        APP启动认证数
,day_app_act-day_app_act_auth        as a9                --        APP启动未认证数
,day_app_act/cum_app_act        as a10 -- APP累计活跃率
,day_app_act_auth/cum_app_act_and_auth as a11 -- APP累计认证活跃率
,(day_app_act-day_app_act_auth)/(cum_app_act-cum_app_act_and_auth) as a12 -- APP累计未认证活跃率

-- 小程序
,cum_pro_act                                --        小程序累计启动数
,cum_pro_act_and_auth                --        小程序累计启动认证数
,cum_pro_act-cum_pro_act_and_auth        as a13        --        小程序累计启动未认证数
,day_pro_new_act                        --        小程序新增启动数
,day_pro_new_act_auth                --        小程序新增启动认证数
,day_pro_new_act-day_pro_new_act_auth        as a14        --        小程序新增启动未认证数
,cum_pro_act_com_auth                --        小程序累计启动认证过数
,cum_pro_act_vin                        --        小程序累计启动认证车辆数
,day_pro_act                                --        小程序启动数
,day_pro_act_auth                        --        小程序启动认证数
,day_pro_act-day_pro_act_auth        as a15                --        小程序启动未认证数
,day_pro_act/cum_pro_act as a16 -- 小程累计启动未认证数
,day_pro_act_auth/cum_pro_act_and_auth as a17 -- 小程序累计认证活跃率
,(day_pro_act-day_pro_act_auth)/(cum_pro_act-cum_pro_act_and_auth) as a18 -- 小程序累计未认证活跃率
from bisi_dm.dmk_app_cum_uv_authentication

union all
-- 汇总
select
cast(ra.part_dt as date) as dates
,d.part_dt
,d.time_type
,ra.series_name
,case when ra.series_name='汇总' then 1 else 2 end car_num        --        车系排序
-- 平台
,cum_act                                        --        平台累计启动数
,cum_act_and_auth                        --        平台累计启动认证数
,cum_act-cum_act_and_auth as a1        --        平台累计启动未认证数
,ra.new_acitve                                --        平台新增启动数
,ra.new_active_auth                        --        平台新增启动认证数
,ra.new_acitve-ra.new_active_auth        as a2        --        平台新增未启动数
,cum_act_com_auth                        --        平台累计启动认证过数
,cum_act_vin                                --        平台累计启动认证车辆数
,ra.active                                        --        平台启动数
,ra.active_auth                                --        平台启动认证数
,ra.active-ra.active as a3        --        平台启动未认证数
,ra.active/cum_act as        a4                 --  平台累计活跃率
,ra.active_auth/cum_act_and_auth as a5 -- 平台累计认证活跃率
,(ra.active-ra.active)/(cum_act-cum_act_and_auth) as a6 -- 平台累计未认证活跃率

-- APP
,cum_app_act                                --        APP累计启动数
,cum_app_act_and_auth                --        APP累计启动认证数
,cum_app_act-cum_app_act_and_auth        as a7        --        APP累计启动未认证数
,ra.app_new_acitve                        --        APP新增启动数
,ra.app_new_active_auth                --        APP新增启动认证数
,ra.app_new_acitve-ra.app_new_active_auth        as a8        --        APP新增启动未认证数
,cum_app_act_com_auth                --        APP累计启动认证过数
,cum_app_act_vin                        --        APP累计启动认证车辆数
,ra.app_active                                --        APP启动数
,ra.app_active_auth                        --        APP启动认证数
,ra.app_active-ra.app_active_auth        as a9                --        APP启动未认证数
,ra.app_active/cum_app_act        as a10 -- APP累计活跃率
,ra.app_active_auth/cum_app_act_and_auth as a11 -- APP累计认证活跃率
,(ra.app_active-ra.app_active_auth)/(cum_app_act-cum_app_act_and_auth) as a12 -- APP累计未认证活跃率

-- 小程序
,cum_pro_act                                --        小程序累计启动数
,cum_pro_act_and_auth                --        小程序累计启动认证数
,cum_pro_act-cum_pro_act_and_auth        as a13        --        小程序累计启动未认证数
,ra.pro_new_acitve                        --        小程序新增启动数
,ra.pro_new_active_auth                --        小程序新增启动认证数
,ra.pro_new_acitve-ra.pro_new_active_auth        as a14        --        小程序新增启动未认证数
,cum_pro_act_com_auth                --        小程序累计启动认证过数
,cum_pro_act_vin                        --        小程序累计启动认证车辆数
,ra.pro_active                                --        小程序启动数
,ra.pro_active_auth                        --        小程序启动认证数
,ra.pro_active-ra.pro_active_auth        as a15                --        小程序启动未认证数
,ra.pro_active/cum_pro_act as a16 -- 小程累计启动未认证数
,ra.pro_active_auth/cum_pro_act_and_auth as a17 -- 小程序累计认证活跃率
,(ra.pro_active-ra.pro_active_auth)/(cum_pro_act-cum_pro_act_and_auth) as a18 -- 小程序累计未认证活跃率

from bisi_dm.dmk_app_uv_authentication_d as ra
inner join
( -- 时间维度表
select
  time_id
,time_type
,case when time_type='周' then CONCAT(min(part_dt),'~',max(part_dt))
           when time_type='月' then substr(max(part_dt),1,7)
           when time_type='年' then substr(max(part_dt),1,4)
  end as part_dt
,max(part_dt) cum_date -- 取统计周期内最后一天
from bisi_dm.dmk_app_regi_auth_date d
group by time_id,time_type
) d on ra.time_id = d.time_id
left join bisi_dm.dmk_app_cum_uv_authentication as cra on cra.part_dt = d.cum_date and ra.series_name = cra.series_name
where ra.part_dt = (select max(part_dt) from bisi_dm.dmk_app_user_authentication_d) -- 每日全量更新,只取最后一天
) a
order by car_num


作者: 曾梦闵    时间: 2023-1-11 10:44
我记得,如果报告有参数就把参数写入sql,减少数据量。或者如果有复杂的逻辑处理,先数据库创建这个表,逻辑写进去,直接用表。再或者采用数据方便查询的库进行数据存储。




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4