Heim  >  Artikel  >  Datenbank  >  Einführung in langsame MySQL-Abfragen und EXPLAIN

Einführung in langsame MySQL-Abfragen und EXPLAIN

零下一度
零下一度Original
2017-05-12 11:04:031754Durchsuche

Vorwort: Heutzutage sind Datenbankoperationen zunehmend zum Leistungsengpass der gesamten Anwendung geworden, insbesondere bei Webanwendungen. Was die Leistung der Datenbank betrifft, ist dies nicht nur etwas, worüber sich Datenbankadministratoren Sorgen machen müssen, sondern auch wir Programmierer müssen darauf achten. Wenn wir die Datenbanktabellenstruktur entwerfen und die Datenbank betreiben (insbesondere SQL-Anweisungen beim Nachschlagen von Tabellen), müssen wir auf die Leistung von Datenoperationen achten.

1. Langsame Abfrage aktivieren

1> 查看慢查询是否开启
   show variables like "%quer%";
   slow_query_log = ON  #已开启

2 Methode aktivieren: my.cnf-Verzeichniskonfiguration

  slow_query_log=on #是否开启
   slow_query_log_file=/opt/MySQL_Data/TEST1-slow.log #慢查询文件位置
   long_query_time=2 #查询超过多少秒才记录

2 SELECT-Abfrage

Erklärung der Spalte

Tabelle: Zeigt an, um welche Tabelle es in dieser Datenzeile geht

Typ: Dies ist eine wichtige Spalte, die die verwendete Verbindung anzeigt. Welcher Typ. Die Join-Typen vom besten zum schlechtesten sind const, eq_reg, ref, range, index, all

possible_keys: Zeigt die Indizes an, die auf diese Tabelle angewendet werden können. Wenn leer, ist kein Index möglich. Eine entsprechende Anweisung kann aus der where-Anweisung für die entsprechende Domäne

key ausgewählt werden: Der tatsächlich verwendete Index. Wenn null, wird kein Index verwendet. In seltenen Fällen wählt MySQL einen Index aus, der nicht ausreichend optimiert ist. In diesem Fall können Sie „use index (indexname)“ in der SELECT-Anweisung verwenden, um die Verwendung eines Index zu erzwingen, oder „ignore index (indexname)“ verwenden, um MySQL zu zwingen, den Index zu ignorieren

key_len: die Länge des Index gebraucht. Je kürzer die Länge, desto besser, ohne an Genauigkeit zu verlieren

ref: Zeigt an, welche Spalte des Index verwendet wird, wenn möglich eine Konstante

rows: mysql denkt, dass es überprüft werden muss Die Anzahl der verwendeten Zeilen um die angeforderten Daten zurückzugeben

extra: Zusätzliche Informationen darüber, wie MySQL die Abfrage analysiert. Beispiel: Verwendung von temporären Dateien und Verwendung von Filesort, was bedeutet, dass MySQL überhaupt keine Indizes verwenden kann und das Ergebnis ist, dass der Abruf sehr langsam ist

[Verwandte Empfehlungen]

1 Kostenloses MySQL-Online-Video-Tutorial

2.

Neuestes MySQL-Handbuch-Tutorial

3. Diese Dinge über Datenbankdesign

Das obige ist der detaillierte Inhalt vonEinführung in langsame MySQL-Abfragen und EXPLAIN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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