版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014248473/article/details/81635970
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;