报表中的一个查询,每次跳转到这张报表时都需要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_货权单位编码 希望能给出修改意见或者不合理之处,但是不能改变查询结果 |