Heim > Datenbank > MySQL-Tutorial > MySQL Advanced 11 – Langsame Abfrage

MySQL Advanced 11 – Langsame Abfrage

黄舟
Freigeben: 2016-12-29 16:50:10
Original
1018 Leute haben es durchsucht

MySQL zeichnet Abfragen auf, die die angegebene Zeit überschreiten. Wir bezeichnen SQL-Abfrageabfragen, die die angegebene Zeit überschreiten, als langsame Abfragen.

1. Überprüfen Sie das Zeitlimit

show variables like '%long%';
Nach dem Login kopieren

und Sie werden sehen:

+---------------------------------------------------+-----------+
| Variable_name                        | Value     |
+---------------------------------------------------+-----------+
| long_query_time                        | 10.000000 |
| max_long_data_size                     | 1048576   |
| performance_schema_events_waits_history_long_size | 10000     |
+---------------------------------------------------+-----------+
Nach dem Login kopieren


Wenn eine Abfrage long_query_time überschreitet, wird sie als langsame Abfrage bezeichnet.

2. Überprüfen Sie die Startzeit der Datenbank

show status like 'uptime%';
Nach dem Login kopieren

und Sie werden

+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| Uptime                    | 76333 |
| Uptime_since_flush_status | 76333 |
+---------------------------+-------+
Nach dem Login kopieren

< sehen 🎜> 3. Überprüfen Sie die Anzahl der Abfrageanweisungen


show status like &#39;com_Select&#39;;
Nach dem Login kopieren
und Sie werden sehen:



+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 1     |
+---------------+-------+
Nach dem Login kopieren

4. Get die Anzahl der Verbindungen


show status like &#39;connections&#39;;
Nach dem Login kopieren
wird angezeigt



+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 2     |
+---------------+-------+
Nach dem Login kopieren

5. Stellen Sie die langsame Abfragezeit ein


set long_query_time = 1;
Nach dem Login kopieren
6. Starten Sie den MySQL-Dienst im abgesicherten Modus und die langsamen Abfragedatensätze werden in das Protokoll geschrieben.


Protokoll langsamer Abfragen aktivieren

Fügen Sie die folgenden Parameter zur MySQL-Konfigurationsdatei hinzu

log-show-queries = D:/MySQL/Log/mysqld-slow-query. log

long-query-time = 5

log-queries-not-using-indexes

Erklärung:

Über den Speicherort der langsamen Abfrageprotokollfunktion: Die Verzeichnisdatei muss über Schreibberechtigungen verfügen. Sie können Einstellungen verwenden, das System gibt eine Standarddatei host_name-show.log an

long_query_time

SQL-Ausführungszeitschwellenwert, der Standardwert beträgt 10 Sekunden

Beachten Sie drei Punkte:

1. Nach dem Festlegen des long_query_time-Schwellenwerts zeichnet die MySQL-Datenbank alle SQL-Anweisungen auf, deren Laufzeit diesen Wert überschreitet, wird jedoch nicht aufgezeichnet, wenn die Laufzeit genau gleich long_query_time ist. Mit anderen Worten, im MySQL-Quellcode wird davon ausgegangen, dass er größer als log_query_time und nicht größer oder gleich ist.

2. Ab MySQL 5.1 wird long_query_time in Mikrosekunden berechnet und zeichnet so die Laufzeit von SQL genau auf.

3. Es wird empfohlen, dass die Zeit nicht zu klein oder zu groß ist, vorzugsweise zwischen 5 und 10 Sekunden. Natürlich können Sie entsprechend Ihrer eigenen Situation entscheiden.

log-queries-not-using-indexes

Wenn die laufende SQL-Anweisung keine Indizes verwendet, zeichnet die MySQL-Datenbank diese SQL-Anweisung auch in der Protokolldatei für langsame Abfragen auf.

Das Obige ist der Inhalt von MySQL Advanced Eleven - Slow Query. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com).



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage