【发布时间】:2021-03-08 11:23:57
【问题描述】:
我有一个 oracle 更新查询如下:
> UPDATE MAIN_TABLE T1
> SET T1.A_VALUE=(SELECT A_VALUE FROM TEMP_TABLE WHERE A_VALUE = 'NYCM.GN2')
> WHERE
> T1.V_ID IN =7841
> AND T1.S_ID =
> (
> SELECT T2.S_ID
> FROM MAIN_TABLE T1, T2_DETAILS T2
> WHERE T1.S_ID = T2.S_ID
> AND T1.A_VALUE = 'NYCM.GN2'
> AND T1.V_ID = 7065
> );
没有子查询,主查询的执行时间更短。下面的查询大约需要 10 秒。
UPDATE MAIN_TABLE T1 SET T1.A_VALUE=(SELECT A_VALUE FROM TEMP_TABLE WHERE A_VALUE = 'NYCM.GN2') WHERE T1.V_ID IN =7841 AND T1.S_ID = A_VALUE
【问题讨论】:
标签: sql oracle performance sql-update subquery