UPDATE
è di gran lunga molto più veloce.
Quando UPDATE
, i record della tabella vengono appena riscritti con nuovi dati.
Quando DELETE
, gli indici dovrebbero essere aggiornati (ricorda, elimini l'intera riga, non solo le colonne che devi modificare) e i blocchi di dati potrebbero essere spostati (se premi PCTFREE
limite)
E tutto questo deve essere ripetuto su INSERT
.
Ecco perché dovresti sempre usare
INSERT ... ON DUPLICATE KEY UPDATE
invece di REPLACE
.
Il primo è un UPDATE
operazione in caso di violazione della chiave, mentre quest'ultima è DELETE
/ INSERT
.