Freunde, die in der Entwicklung tätig sind, insbesondere diejenigen, die mit MySQL zu tun haben, werden manchmal auf MySQL-Abfragen stoßen, die sehr langsam sind. Natürlich meine ich damit große Datenmengen im Millionen- oder Zehnmillionenbereich, nicht nur Dutzende von Einträgen. Werfen wir einen Blick auf die Lösung für langsame AbfragenEntwickler müssen häufig nach Anweisungen ohne Index oder n-Grenzwert suchen. Diese Anweisungen können erhebliche Auswirkungen auf die Datenbank haben. Beispielsweise muss eine große Tabelle mit mehreren zehn Millionen Datensätzen vollständig gescannt werden, oder es wird kontinuierlich eine Dateisortierung durchgeführt, was sich auf die E/A der Datenbank und des Servers auswirkt. Dies ist die Situation in der Spiegelbibliothek. Bei Online-Datenbanken gibt es neben Anweisungen ohne Index und Anweisungen ohne Begrenzung ein weiteres Problem: zu viele MySQL-Verbindungen. Apropos, werfen wir einen Blick auf unsere bisherigen Überwachungspraktiken:
Früher dachte ich, diese Überwachungen wären perfekt, aber nachdem ich jetzt die MySQL-Knotenprozessüberwachung implementiert habe, habe ich viele Nachteile entdeckt.
Wie also lösen und hinterfragen wir diese Probleme? Wenn es um die Fehlersuche und das Auffinden von Leistungsengpässen geht, lassen sich langsame MySQL-Abfragen und Abfragen ohne Indizes am einfachsten finden und lösen. Methode 1 : Ich verwende derzeit diese Methode. Haha, ich bevorzuge die Unmittelbarkeit dieser Methode. MySQL-Versionen 5.0 und höher unterstützen die Aufzeichnung von SQL-Anweisungen, die langsam ausgeführt werden. mysql> Variablen wie „long%“ anzeigen; Hinweis: Diese long_query_time wird verwendet, um zu definieren, wie viele Sekunden eine langsamere Abfrage als „langsame Abfrage“ gilt. +-----------------+------------+ | Variablenname | Wert | +-----------------+------------+ | lange Abfragezeit | 10.000000 | +-----------------+------------+ 1 Zeile im Satz (0,00 Sek.) mysql> set long_query_time=1; Hinweis: Ich habe es auf 1 gesetzt, was bedeutet, dass jede Abfrage, deren Ausführung länger als 1 Sekunde dauert, als langsame Abfrage betrachtet wird. Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> Variablen wie „slow%“ anzeigen; +---------------------+---------------+ | Variablenname | Wert | +---------------------+---------------+ | langsame Startzeit | 2 | | slow_query_log | ON | Hinweis: ob die Protokollierung aktiviert werden soll | slow_query_log_file | /tmp/slow.log | Hinweis: wo soll es eingestellt werden+---------------------+---------------+ 3 Zeilen im Satz (0,00 Sek.) mysql> set global slow_query_log='ON' Hinweis: Aktivieren Sie die Protokollierung Sobald die Variable slow_query_log auf ON gesetzt ist, beginnt MySQL sofort mit der Protokollierung. Methode 2 : Befehl mysqldumpslow
Einige Leute schlagen vor, dass wir die MySQL-Konfigurationsdatei einrichten Beim Anpassen von Damit ist dieser Artikel über MySQL-Abfrageoptimierung, die Ursachen für langsame Abfragen und Lösungen abgeschlossen. Weitere relevante Inhalte zur MySQL-Abfrageoptimierung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Analyse des Prinzips der Zentrierung von Elementen mit CSS
Die MySQL-Funktionen DATE_ADD(date,INTERVAL expr ...
Inhaltsverzeichnis Ich habe vor Kurzem React gele...
Heute werden wir uns ansehen, warum es zu Master-...
Leider trat der Fehler MYSQL_DATA_TRUNCATED währe...
In diesem Artikel wird der spezifische Code von V...
Dieser Artikel stellt vor, wie Sie IP-Adressdaten...
Schreiben Sie am Anfang Dieser Artikel behandelt ...
Vorwort Einige der früheren Codes auf Github erfo...
Hintergrund Im Projekt besteht die Anforderung, a...
herunterladen Offizieller MySQL-Download, wählen ...
Finden Sie das Problem Ich habe vorher eine einfa...
Vorwort: Apropos Sandboxen: Wir denken vielleicht...
Verstehen Sie zunächst eine Methode: Aufrufen ein...
Hier können Sie durch geschickten Einsatz von CSS-...
mysql-8.0.19-winx64 von der offiziellen Website h...