为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
sql执行52s,et如下截图
执行计划如下
具体sql见附件
sql.txt
不建索引,看这样写,你那边快些不
SELECT AGENCY_CODE, AGENCY_NAME, ACCT_SET_NAME, ACCT_SET_CODE, MOF_DIV_CODE, SUM(INPUT)
as
INPUT, SUM(CHECKED)
as
CHECKED, SUM(ACCOUNT)
as
ACCOUNT
FROM
(
SELECT
b.agency_code ,
b.agency_name ,
b.acct_set_name,
b.acct_set_code,
b.mof_div_code ,
sum(decode(t.vou_status , 0, 1, 0)) as input,
sum(decode(t.vou_status , 1, 1, 0)) as checked,
sum(decode(t.vou_status , 2, 1, 0)) as account
FROM
GLA_VOU_HEAD b
left join GLA_VOU_HEAD t on t.vou_id = b.vou_id
where
b.VOU_STATUS <> -9
and b.is_Deleted = 2
and b.ACCT_PERIOD between 01 and 12
and b.set_year = '2008'
and b.mof_div_code ='440303008'
and b.agency_Code = '128001'
)
tem group by agency_code, agency_name, acct_set_name, acct_set_code, mof_div_code ORDER BY agency_code limit 20 offset 0
刷一下 GLA_VOU_HEAD 表的统计信息看看是否有效果。另外,方便的话贴一下 idx_GLA_VOU_HEAD_uu01 这个索引的DDL