MySQL 8.0.3 steht kurz vor der Veröffentlichung. Werfen wir einen Blick auf die Neuerungen MySQL 8.0.3 steht kurz vor der Veröffentlichung der RC-Version, was bedeutet, dass Version 8.0 der allgemeinen Verfügbarkeit näher kommt. Hier sind einige wichtige neue Funktionen und Änderungen in Version 8.0.3: 1. Query Cache direkt abschaffen (er sollte einfach den Eingang schließen. Wenn du den Quellcode selbst kompilierst, kannst du ihn wieder aktivieren) 2. Der Abfrageoptimierer unterstützt die Änderung bestimmter Optionen auf Sitzungsebene direkt in SQL mithilfe der SET_VAR HINT-Syntax, beispielsweise: - SELECT /*+ SET_VAR (Sortierungspuffergröße = 16 M) */ Name FROM Personen ORDER BY Name; - INSERT /*+ SET_VAR (foreign_key_checks=OFF) */ INTO t2 VALUES (2); (Diese Funktion ist super praktisch. Sie können sie direkt in SQL ändern, ohne ein weiteres SQL schreiben zu müssen und sich Sorgen über Auswirkungen auf andere machen zu müssen.) 3. Der Abfrageoptimierer unterstützt jetzt das Speichern des Histogramms der statistischen Ergebnisse jeder Spalte im Datenwörterbuch „column_statistics“, um die Erstellung des Ausführungsplans zu erleichtern. Mit diesem Histogramm können wir die Spalte mit der Konstanten vergleichen. 4. Dem Abfrageoptimierer wird ein neues Flag, use_invisible_indexes, hinzugefügt, um zu steuern, ob unsichtbare Indizes beim Erstellen des Ausführungsplans berücksichtigt werden. 5. InnoDB fügt eine Sicherungssperre hinzu. Wenn zuvor DML während des Online-Hot-Backups von InnoDB-Tabellen gleichzeitig ausgeführt wurde, konnte der Snapshot der InnoDB-Datei inkonsistent sein. Mit dieser Sicherungssperre müssen Sie sich darüber keine Sorgen machen. Die Sicherungssperrverwendung lautet INSTANZEN FÜR SICHERUNG SPERREN, INSTANZEN ENTSPERREN, wofür die Berechtigung BACKUP_ADMIN erforderlich ist. 6. InnoDB unterstützt jetzt die Atomizität von Tabellen-DDL, was bedeutet, dass DDL auf InnoDB-Tabellen auch Transaktionsintegrität erreichen kann, entweder Rollback bei Fehlschlag oder erfolgreiches Commit, sodass es kein Problem mit teilweisem Erfolg von DDL gibt. Darüber hinaus unterstützt es auch die Absturzsicherheitsfunktion (diese Funktion ist großartig). 7. Wenn die Gruppenreplikation (GR) spät initialisiert wird, d. h. im Einzelprimärmodus, können Daten über den asynchronen Replikationskanal auf den sekundären Knoten geschrieben werden, was bei der normalen Initialisierung des Gruppenreplikations-Plugins nicht zulässig ist (Fehler Nr. 26314756, dies ist eine interne Fehler-ID, wir können sie nicht sehen, also kümmern Sie sich nicht darum. Aber es gibt auch das allmächtige GitHub, wo Sie auch die entsprechende Beschreibung sehen können, siehe: https://github.com/mysql/mysql-server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d) 8. Mehrere Ansichten wie FILES, PARTITIONS, REFERENTIAL_CONSTRAINTS in der Systembibliothek INFORMATION_SCHEMA wurden neu implementiert (das ist nicht zu spezifisch, es könnte damit zusammenhängen, dass alle DDLs in InnoDB abgelegt werden und FRM-Dateien nicht mehr zum Speichern von DDL-Informationen verwendet werden) 9. Aufgrund der Änderung der Sperrfunktion für Fremdschlüsseleinschränkungen wird die Funktion zum Umbenennen von Spalten in der übergeordneten Tabelle mit Fremdschlüsseleinschränkungen vorübergehend für einen bestimmten Zeitraum deaktiviert (es wird geschätzt, dass sie nach einigen Nebenversionen wieder normal verwendet werden kann). 10. Neue Umbenennungssyntax für den allgemeinen InnoDB-Tablespace: ALTER TABLESPACE ... RENAME TO (Als MySQL-DBA scheinen nur wenige Leute allgemeine Tablespaces zu verwenden. Vielleicht sind sie nach dem Wechsel von Oracle DBA mehr daran gewöhnt.) 11. Auf dem Slave-Knoten der MySQL-Replikation wird der Standardwert der Option log_slave_updates auf ON geändert (dies ist auch recht praktisch und es ist praktisch, den Slave direkt als Relay-Knoten zu verwenden). 12. Der globale Bereich der Option sql_log_bin wurde in den Sitzungsbereich geändert, d. h. die Änderung dieser Option wirkt sich nur auf diese Sitzung aus und nicht mehr auf den globalen Bereich (diese Option wird im Allgemeinen auf Sitzungsebene verwendet). 13. Der Standardwert der Option max_allowed_packet wird von 4M auf 64M erhöht (das scheint realistischer) 14. Der Standardwert der Option event_scheduler wird von OFF auf ON geändert, sodass die Ereignisplanerfunktion standardmäßig aktiviert ist (ich finde die Ereignisfunktion sehr gut, aber es scheint, dass nur wenige Leute Ereignisse verwenden). 15. Der Standardwert der Option max_error_count wurde von 64 auf 1024 erhöht (glaube ich nicht) 16. Der letzte, der Zeichensatz utf8mb4, fügt eine russische Prüfsumme hinzu (zwei neue Sortierungssätze: utf8mb4_ru_0900_ai_ci und utf8mb4_ru_0900_as_cs) Freuen wir uns auf die Veröffentlichung von 8.0.3! Das könnte Sie auch interessieren:
|
<<: So beheben Sie Dateisystemfehler in Linux mit „fsck“
>>: Kapseln Sie eine einfachste ErrorBoundary-Komponente zur Behandlung von React-Ausnahmen
Nachdem ich herausgefunden hatte, dass der vorher...
1. So zeigen Sie das Datum rechts in der Artikelti...
#include <asm/io.h> #define ioremap(Cookie,...
1. Was ist ein Deadlock? Die offizielle Definitio...
Freunde, die Speicherplatz gekauft und Websites er...
Das Implementierungsprinzip der Kettenprogrammier...
Was ist ein Speicherleck? Ein Speicherleck bedeut...
Vorwort Relationale Datenbanken werden eher zu Sy...
Go ist eine Open-Source-Programmiersprache, die d...
Struktur Text, Kopf, HTML, Titel Text abbr, Akron...
Inhaltsverzeichnis Der Anfang der Geschichte Inst...
Als wir nginx eingeführt haben, haben wir nginx a...
Der automatische Bildlaufeffekt der Seite kann du...
Der Installationsprozess entfällt (ich habe es di...
Vorwort add_header ist eine Direktive, die im Hea...