ALTER TABLE ohne den Tisch zu sperren?

Wenn Sie eine ALTER TABLE-Anweisung in MySQL die gesamte Tabelle gelesen wird-gesperrt für die Dauer der Anweisung. Wenn es einen großen Tisch, das bedeutet, dass insert-oder update-Anweisungen gesperrt werden könnte für einen laaaangen Zeit. Gibt es einen Weg, um eine "hot verändern", wie das hinzufügen einer Spalte in einer Weise, dass die Tabelle ist immer noch aktualisierbar ist während des gesamten Prozesses?

Vor allem bin ich daran interessiert, eine Lösung für MySQL, aber mich würde interessieren, in anderen RDBMS, wenn MySQL nicht kann.

Klären, mein Ziel ist einfach, um Ausfallzeiten zu vermeiden, wenn ein neues feature, das erfordert eine extra Tabelle Spalte geschoben Produktion. Jede Datenbank-schema wird im Laufe der Zeit ändern, das ist einfach eine Tatsache des Lebens. Ich sehe nicht ein, warum wir akzeptieren sollten, dass diese Veränderungen müssen zwangsläufig auch zu Ausfallzeiten führen; das ist einfach nur schwach.

InformationsquelleAutor der Frage Daniel | 2009-01-21

Schreibe einen Kommentar