MySQL und die Option Checksum - ist das eindeutig

Hallo in die Runde,

heute mal eine theoretische Frage: Ich möchte in einer Anwendung automatisch eine Backup Kopie einer MySQL Tabelle erstellen lassen (per PHP Script).

Meine Idee ist, dieses Backup vor bzw. nach Erstellung zu überprüfen, bevor das Script eine große Anzahl von Datensätzen ändert. MySQL bietet die Option „CHECKSUM“ für eine Tabelle, damit wäre meine Idee, diese abzufragen und zu vergleichen (wenn CHECKSUM von Haupttabelle und Backuptabelle gleich sind, ist entweder kein Backup erforderlich oder das Backup war erfolgreich).

Erste Versuche (manuell) scheinen erfolgreich. Die betroffene Tabelle ist aber sehr groß (etwa 1,3 Mio Datensätze - ca. 400 MB), daher kann ich das nicht durch lesen (manuell oder maschinell) überprüfen.

Deswegen die Frage: Ist diese Funktion eindeutig, kann ich mich (mit großer Wahrscheinlichkeit) darauf verlassen, dass der Inhalt zweier Tabellen gleich ist, wenn die Prüfsumme gleich ist ? Konnte per google leider keine Details finden (vielleicht hatte ich nicht die richtigen Ideen zur Suche …).

Danke im Voraus, lo

Moin moin,
http://dev.mysql.com/doc/refman/5.0/en/checksum-tabl…

ganz unten

Important

If the checksums for two tables are different, then it is almost certain
 that the tables are different in some way. However, because the hashing
 function used by CHECKSUM TABLE is not guaranteed to be collision-free,
 there is a slight chance that two tables which are not identical can
 produce the same checksum

.

Also das übliche . Da die checksumme eine kleinere menge ist um eine grössere menge abzubilden, gibt es immer die Möglichkeit das es gleiche Checksummen bei unterschiedlichen Daten aus der grossen menge gibt.

Hallo,

danke für den Literaturhinweis. So was hatte ich vermutet, habs nur nicht gefunden (wahrscheinlich an der falschen Stelle gesucht).

Aber hast du eigene Erfahrungen damit ? Die Frage ist ja eher, ob es praktisch ein Problem ist, als ob es theoretisch unter ganz bestimmten Voraussetzungen möglich ist.

Danke, lo.

Da würd ich sagen, für update geeignet , für identifizierung von eindeutigkeit ungeeeignet. Allerdings braucht es schon einige tabellen um der warscheinlichkeit auf die sprünge zu helfen.