Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle Merge vs Select e Insert or Update


A regra de ouro é, se você puder fazer isso em um SQL, geralmente terá um desempenho melhor do que fazê-lo em várias instruções SQL.

Eu iria com o MERGE se ele faz o trabalho.

Além disso - outra sugestão:você pode evitar repetir dados em sua declaração, por exemplo:
MERGE INTO table
 USING (SELECT 'some_id' AS newid,
               'some_val' AS newval
        FROM dual)
 ON (rowid = newid)
WHEN MATCHED THEN
 UPDATE SET colname = newval
WHEN NOT MATCHED THEN
 INSERT (rowid, colname)
 VALUES (newid, newval)