


ALTER TABLE ohne Tabellensperre: Eine umfassende Diskussion
In MySQL führt die Ausführung einer ALTER TABLE-Anweisung zu einer Lesesperre für die gesamte Tabelle . Dies ermöglicht zwar gleichzeitige Lesevorgänge, Schreibvorgänge werden jedoch blockiert. Bei großen Tabellen kann dies zu erheblichen Verzögerungen bei INSERT- oder UPDATE-Anweisungen führen. Um diese Ausfallzeit zu vermeiden, stellt sich die Frage: Gibt es eine Methode, um einen „Hot Alter“ durchzuführen, der die Aktualisierbarkeit der Tabelle während des Prozesses aufrechterhält?
Einschränkungen von MySQL
Leider MySQL bietet keine native Lösung für Hot Alters wie das Hinzufügen einer Tabellenspalte ohne Sperren der Tabelle. Der traditionelle Ansatz besteht darin, auf eine manuelle Problemumgehung zurückzugreifen.
Manuelle Lösung
Die Alternative zu einem Hot-Alter ist ein manueller Prozess:
- Neue Tabelle erstellen: Erstellen Sie eine neue Tabelle mit den gewünschten hinzugefügten Elementen Spalte.
- Datenblock für Block kopieren: Daten nach und nach von der alten Tabelle in die neue übertragen und dabei auf gleichzeitige INSERT/UPDATE/DELETE-Vorgänge in der Quelltabelle achten.
- Tabellen umbenennen:Ändern Sie die Namen der Quelle und neuer Tabellen, um deren Verwendung in der Produktion zu erleichtern Umgebung.
- Prozeduren neu kompilieren:Aktualisieren Sie alle gespeicherten Prozeduren oder andere Datenbankobjekte, die auf die betroffene Tabelle verweisen.
Grundlegende Gründe für die Einschränkung
Es ist wichtig zu verstehen, warum MySQL Hot Alters nicht unterstützt direkt:
- Ähnlichkeit mit Massenaktualisierung: Durch das Hinzufügen einer Spalte werden effektiv alle Zeilen in der Tabelle mit einem neuen Wert aktualisiert.
- Änderung der physikalischen Struktur: Durch die Änderung wird die Aufbewahrungsstruktur des Tisches physisch verändert, sodass jeder bewegt werden muss Datensatz.
Diese Faktoren erschweren die Implementierung von Sperren auf Feldebene oder die Durchführung von Hot-Änderungen, ohne dass es zu irgendeiner Form einer Tabellensperre kommt.
Fazit
Obwohl MySQL keine integrierte Lösung für Hot Alters bietet, bietet die oben beschriebene manuelle Problemumgehung eine praktikable Alternative. Dadurch können Datenbankadministratoren Ausfallzeiten während Schemaänderungen vermeiden und einen unterbrechungsfreien Zugriff auf die Tabelle während des gesamten Prozesses gewährleisten.
Das obige ist der detaillierte Inhalt vonKann MySQL ALTER TABLE-Operationen ausführen, ohne die gesamte Tabelle zu sperren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In diesem Artikel wird die Optimierung von MySQL -Speicherverbrauch in Docker untersucht. Es werden Überwachungstechniken (Docker -Statistiken, Leistungsschema, externe Tools) und Konfigurationsstrategien erörtert. Dazu gehören Docker -Speichergrenzen, Tausch und CGroups neben

Dieser Artikel befasst sich mit MySQLs Fehler "Die freigegebene Bibliotheksfehler". Das Problem ergibt sich aus der Unfähigkeit von MySQL, die erforderlichen gemeinsam genutzten Bibliotheken (.SO/.dll -Dateien) zu finden. Lösungen beinhalten die Überprüfung der Bibliotheksinstallation über das Paket des Systems m

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

Dieser Artikel vergleicht die Installation von MySQL unter Linux direkt mit Podman -Containern mit/ohne phpmyadmin. Es beschreibt Installationsschritte für jede Methode und betont die Vorteile von Podman in Isolation, Portabilität und Reproduzierbarkeit, aber auch

Dieser Artikel bietet einen umfassenden Überblick über SQLite, eine in sich geschlossene, serverlose relationale Datenbank. Es beschreibt die Vorteile von SQLite (Einfachheit, Portabilität, Benutzerfreundlichkeit) und Nachteile (Parallelitätsbeschränkungen, Skalierbarkeitsprobleme). C

In diesem Handbuch wird die Installation und Verwaltung mehrerer MySQL -Versionen auf macOS mithilfe von Homebrew nachgewiesen. Es betont die Verwendung von Homebrew, um Installationen zu isolieren und Konflikte zu vermeiden. Der Artikel Details Installation, Starten/Stoppen von Diensten und Best PRA

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion
