So erstellen Sie einen Index für eine große MySQL-Produktionstabelle ohne Tabellensperre
Problemhintergrund:
Das Erstellen eines Index für eine große MySQL-Tabelle kann eine entmutigende Aufgabe sein, insbesondere in einer Produktionsumgebung, in der ein unterbrechungsfreier Zugriff von entscheidender Bedeutung ist. Herkömmliche CREATE INDEX-Anweisungen können zu einer vollständigen Tabellensperre führen und alle gleichzeitigen Vorgänge blockieren.
Überlegungen zur MySQL-Version:
Circular Masters-Ansatz:
Für MySQL-Versionen vor 5.6 ist ein effektiver Ansatz die Circular Masters-Technik:
Perconas pt-online-schema-change Tool:
Dieses Tool automatisiert den Circular-Masters-Ansatz durch:
AWS RDS-Überlegungen:
Für MySQL-Datenbanken, die auf dem RDS von Amazon gehostet werden, kann die Funktion „Read Replica Promotion“ zur Vereinfachung verwendet werden Schemaänderungen ohne Tabellensperre. Dazu müssen Änderungen an einem schreibgeschützten Slave vorgenommen und dieser dann zum neuen Master befördert werden.
Alternative Techniken:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3