Heim  >  Artikel  >  Datenbank  >  Was sind die Unterschiede zwischen Mysql8 und mysql5.7?

Was sind die Unterschiede zwischen Mysql8 und mysql5.7?

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-06-07 09:34:544344Durchsuche

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.

Was sind die Unterschiede zwischen Mysql8 und mysql5.7?

1. NoSql-Speicher

Mysql hat die NoSQL-Speicherfunktion ab Version 5.7 bereitgestellt, aber dieser Teil wird in der Praxis selten verwendet

Was sind die Unterschiede zwischen Mysql8 und mysql5.7?

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;

Die Syntax zum Wiederherstellen der Anzeige des Index lautet:Was sind die Unterschiede zwischen Mysql8 und mysql5.7?

ALTER TABLE t ALTER INDEX i VISIBLE;

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;

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;

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;

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.

Was sind die Unterschiede zwischen Mysql8 und mysql5.7?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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen