sql:报表中的一个查询,每次都需要至少3分钟才能完成,请问有什么办法优化或者修...

报表中的一个查询,每次跳转到这张报表时都需要3-5分钟的时间,有时候会直接卡死。就是因为这个查询,单独执行查询的时候也是需要3分钟左右,请问能优化或者修改吗?
其中,查询最慢的一段代码:
select ckje.FH_发货单编号,ckje.FLBM_分类编码,ckje.HQBM_货权单位编码,SUM(ckje.ckj) as ckj
from (select ck.FH_发货单编号,jsfh.HQBM_货权单位编码,jsfh.FLBM_分类编码,jsfh.JSD_合同编号
,SUM(ck.cksl*jsfh.DJ_结算价) ckj
        from (select fh.HQBM_货权单位编码,fl.FLBM_分类编码,js.JSD_合同编号,fh.FH_发货单编号
        ,js.DJ_结算价
                from
                XS_结算单 js,
                CY_发货单主表 fh,
                JCP_产品信息 cp,
                JFL_产品分类 fl
                where
                js.JSD_结算单编号 = fh.JS_结算单编号
                and fh.CPBM_产品编码=cp.CPBM_产品编码
                and cp.FLBM_所属分类编码=fl.FLBM_分类编码
                and fh.ZT!='F'
                and js.ZT!='F'
                group by
                fh.HQBM_货权单位编码,fl.FLBM_分类编码,js.JSD_合同编号,fh.FH_发货单编号,js.DJ_结算价) as jsfh
                left join (select
                ck.FH_发货单编号,
                ck.CK_出库单编号,
                SUM(mx.SL_出库数量) as cksl
                from
                CY_出库单主表 ck,
                CY_出库单明细表 mx,
                JCP_产品信息 cp,
                JFL_产品分类 fl
                where
                ck.ID=mx.PK_出库单主表主键
                and mx.CPBM_产品编码=cp.CPBM_产品编码
                and cp.FLBM_所属分类编码=fl.FLBM_分类编码
                and ck.ZT!='F'
                and ck.CK_出库类型='X'
                group by
                ck.CK_出库单编号,ck.FH_发货单编号)as ck
        on jsfh.FH_发货单编号=ck.FH_发货单编号
        group by ck.FH_发货单编号,jsfh.HQBM_货权单位编码,jsfh.FLBM_分类编码,jsfh.JSD_合同编号) as ckje
        group by ckje.FH_发货单编号,ckje.FLBM_分类编码,ckje.HQBM_货权单位编码

希望能给出修改意见或者不合理之处,但是不能改变查询结果
FineReportmuyue 发布于 2017-2-20 10:32
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
qweqwe发布于2017-2-20 10:32(编辑于 2023-9-6 09:34)
555
最佳回答
0
xwzsbh发布于2017-2-20 10:40(编辑于 2023-9-6 09:34)
555
最佳回答
0
我行我素发布于2017-2-20 13:49(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 598浏览人数
  • 最后回答于:2017-2-20 13:49
    活动推荐 更多
    热门课程 更多
    返回顶部