Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Leistung LÖSCHEN oder AKTUALISIEREN?

UPDATE ist bei weitem viel schneller.

Wenn Sie UPDATE , die Tabellensätze werden gerade mit neuen Daten überschrieben.

Wenn Sie DELETE , sollten die Indizes aktualisiert werden (denken Sie daran, Sie löschen die ganze Zeile, nicht nur die Spalten, die Sie ändern müssen) und Datenblöcke können verschoben werden (wenn Sie PCTFREE drücken Grenze)

Und das alles muss bei INSERT noch einmal gemacht werden .

Deshalb sollten Sie immer

verwenden
INSERT ... ON DUPLICATE KEY UPDATE

statt REPLACE .

Ersteres ist ein UPDATE Operation im Falle einer Schlüsselverletzung, während letztere DELETE ist / INSERT .