UPDATE
är mycket snabbare.
När du UPDATE
, tabellposterna skrivs bara om med ny data.
När du DELETE
, bör indexen uppdateras (kom ihåg att du tar bort hela raden, inte bara kolumnerna du behöver ändra) och datablock kan flyttas (om du trycker på PCTFREE
gräns)
Och allt detta måste göras igen på INSERT
.
Det är därför du alltid bör använda
INSERT ... ON DUPLICATE KEY UPDATE
istället för REPLACE
.
Den förra är en UPDATE
operation i händelse av en nyckelintrång, medan den senare är DELETE
/ INSERT
.