Das MySQL-Entwicklungsteam hat am 12. die Veröffentlichung der MySQL 8.0.0 Development Milestone Version (DMR) angekündigt! Manche Leute mögen überrascht sein, warum MySQL von 5.x auf 8.0 gesprungen ist. Tatsächlich wurde die MySQL 5.x-Serie viele Jahre lang fortgesetzt, beginnend mit 5.1 vor der Übernahme durch Oracle, und ist seit der Übernahme bei 5.x geblieben, z. B. 5.5, 5.6, 5.7 usw. Wenn Sie dem ursprünglichen Veröffentlichungsrhythmus folgen, können Sie sich 5.6.x tatsächlich als 6.x und 5.7.x als 7.x vorstellen. Deshalb haben wir gerade die Versionsbenennungsmethode geändert.
Die dieses Mal veröffentlichte Entwicklungsversion von MySQL 8.0.0 weist jedoch noch viele Highlights auf.
MySQL 8.0.0-Highlights
Transaktionsdatenwörterbuch, vollständig getrennt von der MyISAM-Speicher-Engine
Fügen Sie das Datenwörterbuch wirklich in einige Tabellen in InnoDB ein und benötigen Sie keine FRM-, TRG- und PAR-Dateien mehr! Informationsschema wird jetzt als Ansicht der Datenwörterbuchtabellen angezeigt. Grundsätzlich ist der Datentabellentyp MyISAM überhaupt nicht erforderlich und alle Systemtabellen können in InnoDB abgelegt werden.
SQL-Rolle
Eine Rolle ist eine Sammlung von Berechtigungen. Sie können Rollen erstellen, einem Benutzer Rollen zuweisen und entziehen. Dies ist praktisch für die Berechtigungsverwaltung.
Der Zeichensatz utf8mb4 wird zum Standardzeichensatz und unterstützt Unicode 9
Der Standardzeichensatz wird von latin1 in utf8mb4 geändert und die Standardsortierung wird von latin1_swedish_ci in utf8mb4_800_ci_ai geändert.
Unsichtbarer Index
Einige Indizes können unsichtbar gemacht werden, sodass sie vom SQL-Optimierer nicht verwendet werden, aber weiterhin im Hintergrund aktualisiert werden. Die Sicht kann bei Bedarf jederzeit wiederhergestellt werden.
Bitoperationen können an Binärdaten durchgeführt werden
Sie können nicht nur Bitoperationen für BIGINT durchführen, sondern unterstützen ab 8.0 auch Bitoperationen für [VAR]BINARY/[TINYMEDIUMLONG]BLOB.
Verbesserter Betrieb mit IPv6 und UUID
INET6_ATON () und INET6_NTOA () können jetzt Bitoperationen ausführen, da INET6_ATON () jetzt den Datentyp VARBINARY (16) (128 Bits) zurückgibt. UUID-Operationen wurden durch die Einführung der drei neuen Funktionen UUID_TO_BIN (), BIN_TO_UUID () und IS_UUID () verbessert. MySQL verfügt nicht über spezielle IPv6- und UUID-Datentypen, sondern wird im Datentyp VARBINARY (16) gespeichert.
Persistente globale Variablen
Mit SET PERSIST können Sie persistente globale Variablen setzen, die auch bei einem Neustart erhalten bleiben.
Verbesserungen des Leistungsschemas der Leistungsdatenbank
Zum Beispiel wurden der Leistungsdatenbank mehr als 100 Indizes hinzugefügt, um einen schnelleren Abruf zu ermöglichen.
Refactor SQL-Parser
Kontinuierliche und schrittweise Verbesserungen des SQL-Analysators. Der alte Parser hatte aufgrund seiner syntaktischen Komplexität und seines Top-Down-Parsing-Ansatzes erhebliche Einschränkungen, was seine Wartung und Erweiterung erschwerte.
Kostenmodell
InnoDB-Puffer können jetzt abschätzen, wie viele Tabellen und Indizes sich im Hauptspeichercache befinden, sodass der Optimierer bei der Auswahl einer Zugriffsmethode erkennen kann, ob die Daten im Speicher gespeichert werden können oder auf der Festplatte gespeichert werden müssen.
Histogramme
Durch die Verwendung von Histogrammen können Benutzer oder Datenbankadministratoren Statistiken zur Datenverteilung erstellen, die bei der Abfrageoptimierung verwendet werden können, um optimierte Abfragelösungen zu finden.
Scanleistung verbessern
Die Leistung von InnoDB-Bereichsabfragen wurde verbessert, wodurch die Leistung von vollständigen Tabellenabfragen und Bereichsabfragen um 5–20 % verbessert werden kann.
BLOB rekonstruieren
Das Refactoring von BLOB beschleunigt Fragment-Lese-/Aktualisierungsvorgänge, was wiederum JSON-Datenvorgänge beschleunigen kann.
Permanent sich selbst steigernder Wert
InnoDB behält den Maximalwert der automatischen Inkrementierungssequenz im Redo-Log bei. Diese Verbesserung behebt auch einen sehr alten Fehler Nr. 199.
Temporärer Tisch
Entfernen Sie die Unterstützung für komprimierte temporäre Tabellen und speichern Sie temporäre Tabellenmetadaten im Speicher.
Weitere wichtige Verbesserungen und Details finden Sie in den Release-Ankündigungen zu MySQL 8.0.0 [1] und [2].
Herunterladen
Derzeit ist 8.0.0 noch eine Entwicklungsversion. Wenn Sie die neuesten Funktionen erleben und testen möchten, können Sie die Installationspakete für jede Plattform von dev.mysql.com herunterladen. Allerdings wird das MySQL-Softwarepaket immer größer und das Binärpaket auf der Linux-Plattform ist fast 1 GB groß. Wenn Sie es in einer Produktionsumgebung verwenden, verwenden Sie bitte weiterhin die 5.7-Serie, bevor 8.0 in die stabile Version gelangt. Die neueste Version ist die 5.7.15 GA-Version – die nur mehr als 600 M beträgt.
Der neueste Quellcode ist auf GitHub verfügbar. Viele davon sind Beiträge von Chinesen.
[1]: http://dev.mysql.com/doc/relnotes/mysql/8.0/en/
[2]: http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/
[3]: http://dev.mysql.com/downloads/mysql/