De vuistregel is, als je het in één SQL kunt doen, zal het over het algemeen beter presteren dan in meerdere SQL-instructies.
Ik zou voor de MERGE gaan als het werkt.
Ook - nog een suggestie:u kunt voorkomen dat gegevens in uw verklaring worden herhaald, bijvoorbeeld:
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)