Что быстрее?
оператор слияния
MERGE INTO table_name
USING dual
ON (row_id = 'some_id')
WHEN MATCHED THEN
UPDATE SET col_name = 'some_val'
WHEN NOT MATCHED THEN
INSERT (row_id, col_name)
VALUES ('some_id', 'some_val')
или
запрашивает оператор select, а затем использует инструкцию update или insert.
SELECT * FROM table_name where row_id = 'some_id'
если rowCount == 0
INSERT INTO table_name (row_id,col_name) VALUES ('some_id','some_val')
еще
UPDATE table_name SET col_name='some_val' WHERE row_id='some_id'