Angenommen, ich habe eine Tabelle foo
, die einige Statistiken enthält, die hin und wieder berechnet werden. Es wird häufig von anderen Abfragen verwendet.
Aus diesem Grund möchte ich neuere Statistiken berechnen foo_new
und austauschen, wenn die Berechnung abgeschlossen ist.
ich könnte
ALTER TABLE foo RENAME foo_tmp;
ALTER TABLE foo_new RENAME foo;
aber was passiert, wenn eine Abfrage eine Tabelle foo
zwischen diesen beiden Zeilen benötigt, wenn keine Tabelle vorhanden ist foo
? Ich denke, ich muss es irgendwie sperren ... oder gibt es eine andere Möglichkeit, das zu tun?
tableX
, Elternbeschränkungsreferenzierung hatfoo
. Nach diesem RENAME wird es jetzt referenzieren,foo_old
aber wenn es keine referenzierenden Einschränkungenfoo
gibt, sollten Sie OK sein ...FOREIGN KEYs
.