oracle更新语句怎么优化?

更新借据表中的“单位性质”字段,借据表中一共有36000多条数据,相应的数据表对应的字段都加了索引,我使用以下语句执行了20多分钟都没有结束,可以怎么优化啊?求助!!!
UPDATE ACCT_LOAN_RECOVER REC ----借据表
SET REC.COMPANYTYPE =
(SELECT DECODE(INDIV_EMP_TYP,
'A',
'政府机关',
'B',
'国有企业',
'C',
'民营企业',
'E',
'微型企业',
'G',
'无固定单位',
'H',
'事业单位',
'无') INDIV_EMP_TYP
FROM LC_APPT_INDIV INDIV ----客户申请表
JOIN LC_APPL_APPT APPT ----主客户申请表
ON INDIV.APPT_SEQ || INDIV.APPL_SEQ =
APPT.APPT_SEQ || APPT.APPL_SEQ
JOIN LPB_APPL_DN APPL ----放款申请表
ON APPT.APPL_SEQ = APPL.APPL_SEQ
WHERE APPT.APPT_TYP = '01' ----类型为主客户
AND APPL.LOAN_NO = REC.SERIALNO)
where REC.COMPANYTYPE IS NULL;

2个回答

 等着吧

问了不少同事,最后解决了,将字段的条件拼接拆开,INDIV.APPT_SEQ || INDIV.APPL_SEQ =
APPT.APPT_SEQ || APPT.APPL_SEQ 改为 INDIV.APPT_SEQ=APPT.APPT_SEQ and INDIV.APPL_SEQ =APPT.APPL_SEQ,这样执行效率就快多了,最后差不多几秒钟就更新完了,对DDL的理解多一点真的好重要!!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问