UPDATE
est de loin beaucoup plus rapide.
Lorsque vous UPDATE
, les enregistrements de la table sont en cours de réécriture avec de nouvelles données.
Lorsque vous DELETE
, les index doivent être mis à jour (rappelez-vous, vous supprimez toute la ligne, pas seulement les colonnes que vous devez modifier) et les blocs de données peuvent être déplacés (si vous cliquez sur PCTFREE
limite)
Et tout cela doit être refait sur INSERT
.
C'est pourquoi vous devez toujours utiliser
INSERT ... ON DUPLICATE KEY UPDATE
au lieu de REPLACE
.
Le premier est un UPDATE
opération en cas de violation de clé, alors que cette dernière est DELETE
/ INSERT
.