一条update语句的优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;


4.这条SQL一执行,结果只花了几秒钟就搞定了!

猜你喜欢

转载自blog.csdn.net/u014248473/article/details/81635970