Wenn Sie den Eindruck haben, dass ein Problem mit der MySQL-Leistung vorliegt, prüfen Sie normalerweise zuerst den aktuellen MySQL-Ausführungsstatus. Verwenden Sie dazu beispielsweise Die Informationen in der Statusspalte sind sehr wichtig. Schauen Sie sich zuerst die Bedeutung jeder Spalte an und dann den allgemeinen Statusstatus. Bedeutung der Spalten 1. Ich würde Ein Flag, das Sie verwenden, wenn Sie eine Anweisung beenden möchten, zum Beispiel 2. Nutzer Zeigt den aktuellen Benutzer an. Wenn Sie kein Root sind, zeigt dieser Befehl nur die SQL-Anweisungen innerhalb Ihres Berechtigungsbereichs an. 3. Gastgeber Zeigt an, von welcher IP-Adresse und welchem Port die Anweisung gesendet wurde. So lässt sich der Benutzer ermitteln, der die problematische Anweisung ausgegeben hat. 4.db Zeigt an, mit welcher Datenbank dieser Prozess aktuell verbunden ist 5. Befehl Zeigt die Befehle an, die von der aktuellen Verbindung ausgeführt werden, im Allgemeinen sleep, query und connect 6. Zeit Die Dauer dieses Zustands in Sekunden 7. Staat Zeigt den Status der SQL-Anweisung unter Verwendung der aktuellen Verbindung an. Dies ist eine sehr wichtige Spalte. Der Status ist lediglich ein bestimmter Zustand bei der Ausführung der Anweisung. Beispielsweise muss eine Abfrage die Zustände „In temporäre Tabelle kopieren“, „Ergebnis sortieren“ und „Daten senden“ durchlaufen, bevor sie abgeschlossen werden kann. 8.Informationen Zeigen Sie dieses SQL-Statement an. Wegen der begrenzten Länge werden lange SQL-Statements nicht vollständig angezeigt, es ist aber eine wichtige Grundlage zur Beurteilung von Problemstellungen. Zustand Gemeinsame Zustandsanalyse 1. Schlaf Bedeutet normalerweise, dass Ressourcen nicht freigegeben werden. Wenn dies über einen Verbindungspool erfolgt, sollte der Ruhezustand innerhalb eines bestimmten Bereichs konstant sein, zum Beispiel: Die Datenabfragezeit beträgt 0,1 Sekunden, während die Netzwerkausgabe etwa 1 Sekunde dauert. Die ursprüngliche Datenverbindung kann in 0,1 Sekunden freigegeben werden. Da das Front-End-Programm jedoch den Schließvorgang nicht ausführt und das Ergebnis direkt ausgibt, bleibt die Datenbankverbindung im Ruhezustand, bevor das Ergebnis auf dem Desktop des Benutzers angezeigt wird. 2. Gesperrt Der Vorgang ist gesperrt. Normalerweise kann die Verwendung von innodb das Auftreten des Sperrstatus effektiv reduzieren. 3. In die temporäre Tabelle kopieren Wenn der Index und die vorhandene Struktur die Abfragebedingungen nicht abdecken können, wird eine temporäre Tabelle erstellt, um die Abfrageanforderungen zu erfüllen, was einen enormen E/A-Druck erzeugt. Das Kopieren in die temporäre Tabelle bezieht sich normalerweise auf Tabellenverknüpfungsabfragen. Es wird empfohlen, die zugehörigen Abfragen zu reduzieren oder Abfrageanweisungen gründlich zu optimieren. Wenn die Ausführungszeit einer Anweisung in diesem Zustand zu lang ist, wirkt sich dies ernsthaft auf andere Vorgänge aus. In diesem Fall können Sie den Vorgang abbrechen. 4. Übermittlung von Daten Beim Senden von Daten handelt es sich nicht um das Senden von Daten, sondern um den Vorgang, Daten von der physischen Festplatte abzurufen. Wenn Sie eine große Anzahl von Ergebnismengen haben, müssen Sie Daten aus verschiedenen Festplattenfragmenten extrahieren. Wenn zu viele Verbindungen zum Senden von Daten vorhanden sind, liegt dies normalerweise daran, dass die Ergebnismenge einer Abfrage zu groß ist, d. h. das Indexelement der Abfrage ist nicht ausreichend optimiert. 5. Ergebnisse im Abfrage-Cache speichern Wenn dieser Status häufig auftritt, verwenden Sie zur Analyse Die beiden häufigsten Engpässe bei MySQL-Datenbanken sind CPU- und I/O-Engpässe. Eine CPU-Sättigung tritt normalerweise auf, wenn Daten in den Speicher geladen oder von der Festplatte gelesen werden. Der Festplatten-E/A-Engpass tritt auf, wenn die geladenen Daten viel größer sind als die Speicherkapazität. Wenn die Anwendung im Netzwerk verteilt ist, tritt der Engpass im Netzwerk auf, wenn das Abfragevolumen sehr groß ist. Wir können mpstat, iostat, sar und vmstat verwenden, um den Leistungsstatus des Systems anzuzeigen. Neben dem Leistungsengpass der Serverhardware können wir für das MySQL-System selbst Tools verwenden, um die Leistung der Datenbank zu optimieren. Normalerweise gibt es drei Arten: Verwenden von Indizes, Verwenden von EXPLAIN zum Analysieren von Abfragen und Anpassen der internen Konfiguration von MySQL. Bei der Optimierung von MySQL müssen Sie normalerweise die Datenbank analysieren. Zu den üblichen Analysemethoden gehören langsame Abfrageprotokolle, EXPLAIN-Analyseabfragen, Profilanalyse und der Befehl „show“ zur Abfrage des Systemstatus und der Systemvariablen. Nur durch das Auffinden und Analysieren von Leistungsengpässen kann die Leistung des Datenbanksystems besser optimiert werden. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Vue+js: Klicken Sie auf den Pfeil, um die Bilder zu wechseln
1 Das Select-Tag muss geschlossen sein <select&...
In diesem Artikel wird der spezifische Code von V...
Überblick Heute werden wir hauptsächlich erläuter...
Docker-Lernen https://www.cnblogs.com/poloyy/p/15...
Verwenden Sie den Vscode-Editor, um eine Vue-Vorl...
CSS enthält viele Attribute. Manche Attribute wer...
js-Arrays sind wahrscheinlich jedem bekannt, da s...
Vorwort In den Anfangsphasen einiger Projekte wer...
Inhaltsverzeichnis Überblick 1. Middleware auf An...
Vorwort Bisher waren statische IPs, die über Pipe...
Was bedeutet Strg+C, Strg+D, Strg+Z in Linux? Str...
50 Zeilen Code zum Ändern von 5 Hautfarben, einsc...
Inhaltsverzeichnis Wasserwelleneffekt Sehen wir u...
Vorwort Wenn wir von Linux-Systemen sprechen, mei...
Im vorherigen Artikel haben wir vorgestellt, wie ...