Dieser Artikel stellt Ihnen den Unterschied zwischen MySQL8 und MySQL5.7 vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
1. NoSql-Speicher
Mysql hat die NoSQL-Speicherfunktion ab Version 5.7 bereitgestellt, aber dieser Teil wird in der Praxis selten verwendet
2 Die Indexfunktion ist für das Leistungsdebuggen sehr nützlich. Indizes können ausgeblendet und angezeigt werden. Wenn ein Index ausgeblendet ist, wird er vom Abfrageoptimierer nicht verwendet. Das heißt, ein Index kann ausgeblendet werden. Beobachten Sie dann die Auswirkungen auf die Datenbank. Wenn die Leistung abnimmt, bedeutet dies, dass der Index gültig ist. Wenn sich die Datenbankleistung nicht ändert, bedeutet dies, dass der Index zu groß ist gelöscht
Die Syntax zum Ausblenden eines Index
ALTER TABLE t ALTER INDEX i INVISIBLE;
Nach dem Login kopieren
Die Syntax zum Wiederherstellen der Anzeige des Index lautet:
ALTER TABLE t ALTER INDEX i VISIBLE;
Nach dem Login kopieren
Wenn ein Index ausgeblendet ist, können wir aus der Ausgabezusammenfassung des Befehls „show index“ sehen, dass der sichtbare Attributwert von Der Index ist Nein
** Hinweis: **Wenn der Index ausgeblendet ist, wird sein Inhalt weiterhin wie ein normaler Index in Echtzeit aktualisiert. Diese Funktion selbst wird speziell zur Optimierung und zum Debuggen verwendet, wenn Sie einen Index für längere Zeit ausblenden Gleichzeitig können Sie es genauso gut beenden, da der Index über Einfüge-, Aktualisierungs- und Löschfunktionen verfügt, die sich auf Daten auswirken wirkt sich vorübergehend aus und die Datenbank wird beim nächsten Start zurückgesetzt. Aus der Konfigurationsdatei lesen.
MySQL 8 hat den Befehl SET PERSIST hinzugefügt, zum Beispiel:
SET PERSIST max_connections = 500;
Nach dem Login kopieren
MySQL speichert die Konfiguration dieses Befehls in der Datei mysqld-auto.cnf im Datenverzeichnis. Die Datei wird beim nächsten Start gelesen und verwendet. Konfiguration, um die Standardkonfigurationsdatei zu überschreiben.
4.UTF-8-Kodierung
Ab MySQL 8 wird die Standardkodierung der Datenbank in utf8mb4 geändert, das alle Emoji-Zeichen enthält. Seit vielen Jahren sind wir beim Codieren bei der Verwendung von MySQL vorsichtig, aus Angst, zu vergessen, das Standard-Latein zu ändern und Probleme mit verstümmeltem Code zu verursachen. Von nun an keine Sorgen mehr.
5. Allgemeine Tabellenausdrücke
Komplexe Abfragen verwenden eingebettete Tabellen, zum Beispiel:
SELECT t1.*, t2.* FROM
(SELECT col1 FROM table1) t1,
(SELECT col2 FROM table2) t2;
Nach dem Login kopieren
Mit CTE können wir so schreiben:
WITH
t1 AS (SELECT col1 FROM table1),
t2 AS (SELECT col2 FROM table2)
SELECT t1.*, t2.*
FROM t1, t2;
Nach dem Login kopieren
Auf diese Weise sieht es hierarchischer und regionaler aus. Es ist klarer und klarer zu wissen welcher Teil geändert werden soll, wenn Änderungen vorgenommen werden.
Diese Funktion ist in vielen Berichtsszenarien sehr nützlich und auch eine sehr wichtige Funktion der MySQL-Optimierung.
1.235 Fensterfunktionen
Eine der am meisten kritisierten Funktionen von MySQL ist das Fehlen der rank()-Funktion. Wenn in einer Abfrage eine Rangfolge erreicht werden muss, muss die @-Variable von Hand geschrieben werden. Aber ab 8.0 hat MySQL ein neues Konzept namens Fensterfunktion hinzugefügt, mit dem mehrere neue Abfragemethoden implementiert werden können.
Die Fensterfunktion ähnelt ein wenig einer Aggregatfunktion wie SUM() und COUNT(), führt die mehrzeiligen Abfrageergebnisse jedoch nicht in einer Zeile zusammen, sondern fügt die Ergebnisse wieder in mehrere Zeilen ein. Mit anderen Worten: Fensterfunktionen erfordern kein GROUP BY.
Angenommen, wir haben eine Tabelle „Anzahl der Schüler in der Klasse“:
Wenn Sie die Klassengröße von klein nach groß ordnen möchten, können Sie die Fensterfunktion wie folgt verwenden:
Erklärung: Hier Wir haben eine Tabelle mit dem Namen „w window“ erstellt, legen fest, dass das Feld „stu_count“ sortiert wird, führen dann die Methode „rank()“ für „w“ in der Select-Klausel aus und geben das Ergebnis als Feld „rank“ aus.
Diese Funktion ist ebenfalls eine neue Funktion von Oracle11g und spielt auch eine sehr wichtige Rolle bei der Optimierung.
Verwandte Empfehlungen: „
MySQL-Tutorial
“
Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen Mysql8 und mysql5.7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!