2009-06-04 7 views
2

von Entwurf alle Lese von Slave sein sollte, und Aktualisierung auf Master,Master-Slave-Design-Problem

aber betrachten Sie die folgende Situation:

gibt es eine Spalte water_mark in TABLE_A,

und ich muß von Table_B der Spalt time_mark größer als Spalte water_mark von

TABLE_A lesen,

Wenn ich vom Slave lesen, dann AKTUALISIER te die Spalte water_mark zu "now()" im Master,

Was ist, wenn es eine große Verzögerung zwischen Slave und Master gibt?

Antwort

2

Wie Sie angeben, wäre das unsicher; SELECT ... FOR UPDATE und andere "lesen, um dann zu schreiben" Transaktionen müssen das Lesen und Schreiben auf dem gleichen Server (und auf InnoDB Tabellen natürlich ;-).

+0

Alex ist richtig, wenn Sie ein Update auf Ihrem lesen, dann tun Sie beide auf dem Master. – UltimateBrent