MySQL, ob die Tabellenverriegelungstabelle geändert werden soll
Wenn MySQL -Modifys -Tabellenstruktur verwendet werden, werden normalerweise Metadatenverriegelungen verwendet, wodurch die Tabelle gesperrt wird. Um die Auswirkungen von Schlösser zu verringern, können die folgenden Maßnahmen ergriffen werden: 1. Halten Sie Tabellen mit Online -DDL verfügbar; 2. Führen Sie komplexe Modifikationen in Chargen durch; 3.. Arbeiten während kleiner oder absendlicher Perioden; 4. Verwenden Sie PT-OSC-Tools, um eine feinere Kontrolle zu erreichen.
MySQL Tischschloss: Ein zweischneidiges Schwert
Wenn MySQL die Tabellenstruktur modifiziert, werden Schlösser verwendet. Dieses Ding klingt einfach, aber es ist eigentlich viele Tricks. Wie fragen Sie, wie Sie die Tabelle ändern können, um zu vermeiden, die Tabelle zu sperren? Es ist nicht so einfach, es hängt von der Situation ab. Es ist ein Hooligan zu sagen, dass "die Uhr nicht direkt sperren" ist, und Sie müssen sie auseinander brechen und darüber sprechen.
In diesem Artikel werden wir nicht mit virtuellen Dingen spielen. Wir werden den Sperrmechanismus direkt analysieren, wenn MySQL die Tabellenstruktur ändert und wie die Auswirkungen von Schlösser minimiert werden, damit Sie etwas Haare verlieren können. Nachdem Sie es gelesen haben, können Sie das Prinzip hinter dem Sperren des Tisches verstehen und wie Sie in praktischen Anwendungen anmutig damit umgehen.
Sprechen wir zuerst über die Grundlagen. Es gibt viele Arten von MySQL -Schlössern und sind eng mit dem InnoDB -Motor verwandt. Bei der Änderung der Tabellenstruktur werden normalerweise Metadatenverriegelungen verwendet, wodurch die Modifikation der Tabellenstruktur blockiert wird. Es gibt auch Zeilenschlösser, Seitenverriegelungen, Tabellensperrungen usw., sie sperren automatisch entsprechend Ihrer Vorgänge und der Motorauswahl. Haben Sie keine Angst vor diesen Substantiven. Der Schlüssel besteht darin, zu verstehen, wie sie sich auf Ihren Betrieb der Änderung der Tabellenstruktur auswirken.
Vorgänge, die die Tabellenstruktur wie ALTER TABLE
ändern, tun tatsächlich eine Menge interner Dinge: Hinzufügen von Schlössern, Ändern von Metadaten und Veröffentlichung von Schlösser. Dieser Prozess hat einen großen Einfluss auf die Leistung. Stellen Sie sich ein System mit hoher Konkurrenz vor, wenn Sie ALTER TABLE
, ist die gesamte Tabelle festgefahren und der Benutzerzugriff kniet alle, diese Szene ... Daher ist es sehr wichtig, das Steuerungsschloss zu verfeinern.
Schauen wir uns ein einfaches Beispiel an und erleben wir die Kraft der ALTER TABLE
:
<code class="sql">ALTER TABLE my_table ADD COLUMN new_column INT;</code>
Diese Codezeile scheint einfach zu sein, aber MySQL macht viele Dinge dahinter. Es wird zuerst das Tischschloss erfasst, dann die Tabellenstruktur modifiziert und schließlich die Sperre freigelassen. Wenn Ihr my_table
groß ist oder die Parallelität hoch ist, kann dieser Vorgang lange dauern und die Anwendungsblockade verursacht.
Also, wie kann man optimieren? Es gibt keine Silberkugel, aber es gibt einige Tipps zu versuchen:
- Online -DDL: Nach MySQL 5.6 wurde die Online -DDL -Funktion eingeführt, wodurch die Tabelle verfügbar bleibt, während die Tabellenstruktur geändert wird. Dies ist so, als würde man eine Straße auf einer Autobahn bauen und versuchen, die Straße nicht vollständig zu schließen, sondern nur in Abschnitten zu bauen. Natürlich ist Online -DDL nicht allmächtig, es wird etwas Overhead hinzufügen, und einige komplexe Modifikationsvorgänge erfordern möglicherweise weiterhin Verriegelungstabellen.
- Batch -Modifikation: Wenn Ihr Änderungsvorgang komplizierter ist, können Sie dies in Stapeln in Betracht ziehen. Sie müssen beispielsweise mehrere Spalten hinzufügen, die in mehreren zur Fertigstellung
ALTER TABLE
unterteilt werden können, wodurch die Zeit der einzelnen Tabellenschloss verkürzt werden kann. - Kleine Tabellenpriorität: Wenn Ihre Tabelle relativ gering ist und die Auswirkungen von Sperren von Tischen relativ gering sind, können Sie die herkömmliche
ALTER TABLE
direkt verwenden. - Nicht-Peak-Betrieb: Auswahl eines Zeitraums mit niedriger Datenbankverwendung für die Änderung der Tabellenstruktur kann die Auswirkungen auf das Unternehmen minimieren.
- PT-OSC: Das PT-OSC-Tool im Percona-Toolkit kann Ihnen helfen, die Tabellenstruktur online zu ändern und eine feinere granulare Kontrolle bereitzustellen. Es ist leistungsstärker als die Online -DDL, die mit MySQL geliefert wird, aber es ist auch komplizierter zu bedienen.
Denken Sie schließlich an eine Sache: Es gibt keine perfekte Lösung. Welche Methode zu wählen, hängt von Ihrer spezifischen Situation ab. Es sollte umfassend auf Faktoren wie dem Maßstab der Tabelle, des Gleichzeitvolumens und der Geschäftsanforderungen beruht. Erwarten Sie nicht, dass Sie ein für alle Mal fertig sind. Die kontinuierliche Überwachung und Optimierung sind der König. Vergessen Sie nicht, dass Code tot ist, Menschen am Leben sind und eine flexible Anwendung der Schlüssel ist. Nur durch Üben und Zusammenfassen von mehr kann man zu einem echten MySQL -Experten werden.
Das obige ist der detaillierte Inhalt vonMySQL, ob die Tabellenverriegelungstabelle geändert werden soll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Bei der Entwicklung einer kleinen Anwendung stieß ich auf ein kniffliges Problem: die Notwendigkeit, eine leichte Datenbankbetriebsbibliothek schnell zu integrieren. Nachdem ich mehrere Bibliotheken ausprobiert hatte, stellte ich fest, dass sie entweder zu viel Funktionalität haben oder nicht sehr kompatibel sind. Schließlich fand ich Minii/DB, eine vereinfachte Version basierend auf YII2, die mein Problem perfekt löste.

Der Schlüssel zur eleganten Installation von MySQL liegt darin, das offizielle MySQL -Repository hinzuzufügen. Die spezifischen Schritte sind wie folgt: Laden Sie den offiziellen GPG -Schlüssel von MySQL herunter, um Phishing -Angriffe zu verhindern. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Artikelzusammenfassung: Dieser Artikel enthält detaillierte Schritt-für-Schritt-Anweisungen, um die Leser zu leiten, wie das Laravel-Framework einfach installiert werden kann. Laravel ist ein leistungsstarkes PHP -Framework, das den Entwicklungsprozess von Webanwendungen beschleunigt. Dieses Tutorial deckt den Installationsprozess von den Systemanforderungen bis zur Konfiguration von Datenbanken und das Einrichten von Routing ab. Durch die Ausführung dieser Schritte können die Leser schnell und effizient eine solide Grundlage für ihr Laravel -Projekt legen.

MySQL und PhpMyAdmin sind leistungsstarke Datenbankverwaltungs -Tools. 1) MySQL wird verwendet, um Datenbanken und Tabellen zu erstellen und DML- und SQL -Abfragen auszuführen. 2) PHPMYADMIN bietet eine intuitive Schnittstelle für Datenbankverwaltung, Tabellenstrukturverwaltung, Datenoperationen und Benutzerberechtigungsverwaltung.

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.
