UPDATE
jest zdecydowanie szybszy.
Kiedy UPDATE
, rekordy tabeli są właśnie przepisywane nowymi danymi.
Kiedy DELETE
, indeksy powinny zostać zaktualizowane (pamiętaj, że usuwasz cały wiersz, a nie tylko kolumny, które musisz zmodyfikować), a bloki danych mogą zostać przeniesione (jeśli naciśniesz PCTFREE
limit)
A wszystko to musi być zrobione ponownie na INSERT
.
Dlatego zawsze powinieneś używać
INSERT ... ON DUPLICATE KEY UPDATE
zamiast REPLACE
.
Pierwszy z nich to UPDATE
operacja w przypadku naruszenia klucza, przy czym to ostatnie to DELETE
/ INSERT
.