1.首先给出update语句
UPDATE T_TEST A SET A.MANA_CODE = (
SELECT MANA_CODE FROM T_TEST2 B WHERE A.APPLY_NO = B.APPLY_NO
)
WITH UR;
2.分析:
这条语句执行10多分钟都没反应。T_TEST2表只有300多条记录,T_TEST表却有6万多条数据。很明显主表数据有点多,应该给主表添加条件减少数据量!
3.优化SQL
UPDATE T_TEST A SET A.MANA_CODE = (
SELECT MANA_CODE FROM T_TEST2 B WHERE A.APPLY_NO = B.APPLY_NO
)
WHERE EXISTS(
SELECT '1' FROM T_TEST2 C WHERE A.APPLY_NO = C.APPLY_NO
)
WITH UR;
4.这条SQL一执行,结果只花了几秒钟就搞定了!