1. 程式人生 > >SQL查詢和優化(十五)

SQL查詢和優化(十五)

MERGE,因為UPDATE語句有兩次掃描t_tables表,而且其中一次相當於標量子查詢 改寫方法如下: 1、目標表(t_objects o)放在MERGE INTO後面 2、源表(t_tables)放在USING後面 3、關聯條件(t.owner = o.owner AND t.table_name = o.object_name)放在on後面,注意關聯條件放在括號裡,否則會報錯。 4、更新句子( SET o.tablespace_name = t.tablespace_name).注意:只能更新目標表,所以 o.tablespace_name一定要放在前面。 MERGE INTO t_objects o USING
t_talbes t ON(t.owner = o.owner AND t.table_name = o.object_name) WHEN MATCHED THEN UPDATE SET o.tablespace_name = t.tablespace_name;
去掉了“標量子查詢”,對t_tables只掃描了一次