update语句运行了四个小时,请问如何提高效率?
update FAC_MSERV_DEVELOP_INCOME a set ADD_FINANCE_INCOME_SUM=
(select (a.FINANCE_INCOME_SUM-b.FINANCE_INCOME_SUM)
from FAC_MSERV_DEVELOP_INCOME b
where b.time_id=200306
and a.time_id=200307
and a.exch_id=b.exch_id
and a.SERV_TYPE_ID=b.SERV_TYPE_ID
and a.PROD_ID=b.PROD_ID
and a.CUST_TYPE_ID=b.CUST_TYPE_ID
and a.CUST_GRADE_ID=b.CUST_GRADE_ID
and a.SERV_GRADE_ID=b.SERV_GRADE_ID
and a.CONSUME_GRADE_ID=b.CONSUME_GRADE_ID
and a.INDUS_TYPE_ID=b.INDUS_TYPE_ID
and a.SUB_TYPE_ID=b.SUB_TYPE_ID
)
where exists
(
select b.time_id
from FAC_MSERV_DEVELOP_INCOME b
where b.time_id=200306
and a.time_id=200307
and a.exch_id=b.exch_id
and a.SERV_TYPE_ID=b.SERV_TYPE_ID
and a.PROD_ID=b.PROD_ID
and a.CUST_TYPE_ID=b.CUST_TYPE_ID
and a.CUST_GRADE_ID=b.CUST_GRADE_ID
and a.SERV_GRADE_ID=b.SERV_GRADE_ID
and a.CONSUME_GRADE_ID=b.CONSUME_GRADE_ID
and a.INDUS_TYPE_ID=b.INDUS_TYPE_ID
and a.SUB_TYPE_ID=b.SUB_TYPE_ID
)