Es müssen dann schließlich auch diejenigen Datensätze neu geschrieben (UPDATE) werden, die sich gar nicht verändert haben.
Die meisten Datenbank[managment]systeme selbst schreiben bei einem Update ohne tatsächliche Veränderungen nichts neu:
Beispiel von mariadb:
Rows matched: 1 Changed: 0 Warnings: 0
Allerdings muss dem Datenbank[managment]system der Wunsch nach Veränderung übermittelt werden, was durchaus Zeit kostet. Stellt sich die Frage, wie häufig das vorkommt und ob es sich überhaupt lohnt, da gegenzusteuern:
Query OK, 0 rows affected (0.01 sec)
Komplizierte Operationen mit Hash bauen und vergleichen (wie von PL vorgeschlagen) könnten sogar teurer werden, fressen auf jeden Fall Programmierzeit und führen vielleicht oft zu eigenen Fehlern.