Was ist das Protokoll langsamer Abfragen?Das MySQL Slow Query Log ist ein von MySQL bereitgestellter Protokolldatensatz. Es wird verwendet, um Anweisungen in MySQL aufzuzeichnen, deren Antwortzeit den Schwellenwert überschreitet. Insbesondere werden SQL-Anweisungen, deren Ausführungszeit den Wert „long_query_time“ überschreitet, im Slow Query Log aufgezeichnet. Insbesondere werden SQL-Anweisungen, die länger als der „long_query_time“-Wert dauern, im Protokoll für langsame Abfragen aufgezeichnet. Der Standardwert von long_query_time ist 10, was bedeutet, dass die Anweisung länger als 10 Sekunden ausgeführt wird. Damit wird überprüft, welche SQL-Anweisungen unsere maximale Toleranzzeit überschreiten. Wenn beispielsweise die Ausführung einer SQL-Anweisung länger als 5 Sekunden dauert, betrachten wir sie als langsame SQL-Anweisung. Wir hoffen, SQL-Anweisungen zu sammeln, die länger als 5 Sekunden dauern, und basierend auf der vorherigen Erklärung eine umfassende Analyse durchzuführen. Standardmäßig ist das Protokoll für langsame Abfragen in der MySQL-Datenbank nicht aktiviert, daher müssen wir diesen Parameter manuell festlegen. Wenn es für die Optimierung nicht erforderlich ist, ist es natürlich im Allgemeinen nicht empfehlenswert, diesen Parameter zu aktivieren, da die Aktivierung langsamer Abfrageprotokolle mehr oder weniger gewisse Auswirkungen auf die Leistung hat. Das langsame Abfrageprotokoll unterstützt das Schreiben von Protokolldatensätzen in Dateien! So aktivieren Sie langsame AbfragenÜberprüfen Sie den offenen Status VARIABLEN WIE '%slow_query_log%' ANZEIGEN Langsame Abfrage aktivieren setze global slow_query_log = 1 Verwenden Sie „set global_slow_query_log = 1“, um das Protokoll für langsame Abfragen zu aktivieren, das nur für die aktuelle Datenbank gilt und ungültig wird, wenn MySQL neu gestartet wird. Wenn Sie es dauerhaft machen möchten, müssen Sie die Konfigurationsdatei my.cnf ändern (dasselbe gilt für andere Systemvariablen). Ändern Sie die Datei my.cnf und fügen Sie Parameter unter [mysqld] hinzu oder ändern Sie sie. Starten Sie dann den MySQL-Server neu. Die folgenden zwei Zeilen werden in der Datei my.cnf konfiguriert slow_query_log = 1 slow_query_log_file=/var/lib/mysql/tim-slow.log Der Parameter slow_query_log_file für langsame Abfragen gibt den Speicherpfad der Protokolldatei für langsame Abfragen an. Das System gibt standardmäßig eine Standarddatei host_name-slow.log an (wenn der Parameter slow_query_log_file nicht angegeben ist). Welche Art von SQL wird also in der langsamen Abfrage aufgezeichnet, nachdem das Protokoll für langsame Abfragen aktiviert wurde? Verwenden Sie Show-Variablen wie „long_query_time%“, um die Standardzeitdauer in Sekunden anzuzeigen: Ebenso können Sie Befehle verwenden, um es zu ändern oder in my.cnf zu konfigurieren. Wenn die Ausführungszeit genau der long_query_time entspricht, wird sie nicht aufgezeichnet. Das heißt, im MySQL-Quellcode wird es als größer als long_query_time beurteilt, nicht als größer oder gleich! So legen Sie den Protokollierungsschwellenwert fest: setze global long_query_time=3; Ebenso können Sie Befehle verwenden, um es zu ändern oder in my.cnf zu konfigurieren. Wenn die Ausführungszeit genau der long_query_time entspricht, wird sie nicht aufgezeichnet. Das heißt, im MySQL-Quellcode wird es als größer als long_query_time beurteilt, nicht als größer oder gleich! So legen Sie den Protokollierungsschwellenwert fest: setze global long_query_time=3; Eingestellt, aber es sind keine Änderungen aufgetreten? Warum? Zu diesem Zeitpunkt müssen Sie eine Sitzung neu starten: Als Nächstes führen wir eine langsamere Abfrage durch, wie unten gezeigt. Denken Sie jedoch daran, sie in der Konfigurationsdatei wie folgt zu konfigurieren: Gehen Sie dann zur Protokolldatei, um zu überprüfen, welche SQL-Anweisungen den Schwellenwert überschreiten: Fragen Sie ab, wie viele langsame Abfragedatensätze im aktuellen System vorhanden sind: Meine Konfigurationsdatei aufzeichnen langsames_Abfrageprotokoll=1; slow_query_log_file=/var/lib/mysql/tim-slow.log; lange_Abfragezeit=3; log_output=DATEI Protokollanalysetool mysqldumpshowWenn Sie in einer Produktionsumgebung Protokolle manuell analysieren und SQL finden und analysieren möchten, ist dies offensichtlich eine manuelle Aufgabe. MySQL bietet ein Protokollanalysetool namens mysqldumpshow
Hier ist ein Anwendungsbeispiel: Holen Sie sich die 10 SQL-Anweisungen, die die meisten Datensätze zurückgeben mysqldumpslow -sr -t 10 /var/lib/mysql/tim-slowlog Holen Sie sich die 10 wichtigsten SQL-Abfragen mysqldumpslow -s ct 10 /var/lib/mysql/tim-slow log Holen Sie sich die ersten 10 nach Zeit sortierten Elemente, die Left-Join-Abfrageanweisungen enthalten mysqldumpslow -st -t 10 -g "linker Join" /var/lib/mysql/tim-slowlog Es wird auch empfohlen, diese Befehle in Kombination mit weiteren zu verwenden, da sonst der Bildschirm explodieren kann. mysqldumpslow -sr -t 10 /var/lib/mysq/tim-slow.log | mehr Oben finden Sie detaillierte Informationen zum umfassenden Verständnis des MySQL Slow Query Log. Weitere Informationen zum MySQL Slow Query Log finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Der Browser der Betaversion IE9 unterstützt HTML5/CSS3
>>: JavaScript zur Implementierung der Schaltfläche „Zurück nach oben“
Inhaltsverzeichnis 1. Ereignisverarbeitungsmodell...
Die äußerste BoxF dreht sich um 120 Grad, die zwe...
Inhaltsverzeichnis A. Docker-Bereitstellung des S...
Inhaltsverzeichnis Geschäftsszenario: Wirkungsdem...
In diesem Artikel finden Sie das Installations- u...
1. MySQL-Exportdatei: SELECT `pe2e_user_to_compan...
Zabbix erkennt automatisch Regeln zur Überwachung...
eins. Einführung in das Mysql Binlog-Format Das M...
Wildcard-Kategorien: %Prozent-Platzhalter: Gibt a...
Inhaltsverzeichnis 1. Grundlegende Verwendung 2. ...
URL-Loader herunterladen yarn add -D URL-Lader Mo...
In diesem Artikel wird der spezifische Code von V...
1. Hintergrund Im Allgemeinen können wir in einer...
Der DIV-Hintergrund ist halbtransparent, aber die ...
Als ich vor ein paar Tagen ein Programm schrieb, w...