Zum Inhalt springen

Performance von MD5

Erstellt am 7. Februar 2008 · 3 Antworten · letzte Antwort am 7. Februar 2008

Tags: Frage

cschnell ·

Hallo zusammen,

ich habe eine kleine Extension geschrieben, die per CLI Textdateien von Fremdservern holt und erstmal in ein Datenbankfeld schreibt. Über weitere Extensions können sie von dort aus weiter verarbeitet werden.

Nun habe ich eine Frage zur Performance: In meinem Fall sollen die Daten per CRON-Job einmal täglich geholt und aktualisiert werden. Bisher mache ich das einfach mit Update, egal ob der Inhalt geändert hat, oder nicht. Dann bin ich auf die Idee gekommen, den md5-hash mitzuspeichern und diesen vor einem Update zu vergleichen und das Update nur durchzuführen wenn das nötig ist.

Meine eigentliche Frage ist: Ist dieses Vorgehen sinnvoll, lohnt sich das (performancemässig), oder soll ich das Datenbankfeld einfach updaten.

Es handelt sich in meinem Fall um ein ca. 500KB grosses XML-File. Es wäre aber mit meiner Extension mäglich, beliebig viele Dateien per CRON Job gleichzeitig zu holen, so dass ich schon gerne drauf achten will, das Ganze performat zu halten.

Würde mich über Tipps und Anregungen freuen.

steffenk ·

Die checksumme per md5 zu vergleichen ist auf jedenfall sinnvoll um überflüssige DB-Aktionen zu vermeiden. In dem Fall kannst Du das auch direkt ins Update einbauen:

"UPDATE ... where uid=123 and checksum='".md5($record)."'";
cschnell ·

Danke schonmal für das Feedback. Ich muss mich natürlich fragen, ob die Datenbank der Flaschenhals ist, oder die Rechenpower zum Berechnen des md5 Hashes.

Aber vermutlich werde ich das Checksum Feld schon einbauen.