Dateien hier ablegen

SQL-Upload ( 0 ) x -

Seitenbezogene Einstellungen Klicken Sie auf die Leiste, um zum Anfang der Seite zu scrollen
Drücken Sie Strg+Enter, um die Abfrage auszuführen Drücken Sie Enter, um die Abfrage auszuführen
aufsteigend
absteigend
Reihenfolge:
SQL Debugger
Zähler
Ausführungsreihenfolge
Nötige Zeit
Sortieren nach:
Abfragen umgruppieren
Abfragen voneinander lösen
Zuklappen Aufklappen Nachverfolgung anzeigen Nachverfolgung ausblenden Zähler : Nötige Zeit :
Lesezeichen
Aktualisieren
Hinzufügen
Keine Lesezeichen
Lesezeichen hinzufügen
Optionen
Standard festlegen





Zuklappen Aufklappen Erneut abfragen Bearbeiten Erklären Messen Lesezeichen Abfrage fehlgeschlagen Datenbank : Abfragezeit :

Ratgebersystem

Mögliche Performance-Probleme

Problem:
long_query_time ist auf 10 Sekunden oder mehr gesetzt, somit werden nur langsame Abfragen geloggt, die länger als 10 Sekunden laufen.
Empfehlung:
Es wird empfohlen, long_query_time auf einen niedrigeren Wert zu setzen, abhängig von Ihrer Umgebung. Gewöhnlich wird ein Wert von 1 bis 5 Sekunden vorgeschlagen.
Ausrichtung:
long_query_time ist auf 10 Sekunde(n) eingestellt.
Benutzte Variable/Formel:
long_query_time
Test:
value >= 10
Problem:
Die Überwachung langsamer Anfragen ist deaktiviert.
Empfehlung:
Loggen von langsamen Abfragen einschalten, indem slow_query_log auf 'ON' gesetzt wird. Das hilft beim Erkennen von grauenhaft langsamen Abfragen.
Ausrichtung:
slow_query_log ist deaktiviert
Benutzte Variable/Formel:
slow_query_log
Test:
value == 'OFF'
Problem:
Es werden viele Zeilen sortiert.
Empfehlung:
Auch wenn ein hoher Anteil an Zeilensortierungen nicht falsch ist, sollten Sie darauf achten, dass die Abfragen, die viele Sortierungen verwenden, indizierte Spalten in der ORDER-BY-Klausel verwenden, da dies zu viel schnellerem Sortieren führt.
Ausrichtung:
Durchschnitt sortierte Zeilen: 2.46 pro Minute
Benutzte Variable/Formel:
Sort_rows / Uptime
Test:
value * 60 >= 1
Problem:
Es werden zu viele Joins ohne die Benutzung von Indizes durchgeführt.
Empfehlung:
Dies bedeutet, dass Joins vollständige Tabellenscans durchführen. Indizes für die Spalten zu verwenden, die in den Join-Bedingungen eingesetzt werden, wird die Joins erheblich beschleunigen.
Ausrichtung:
Durchschnitt Tabellen-Joins: 11.68 pro Minute, dieser Wert sollte kleiner als 1 pro Stunde sein
Benutzte Variable/Formel:
(Select_range_check + Select_scan + Select_full_join) / Uptime
Test:
value * 60 * 60 > 1
Problem:
Die Lese-Rate des ersten Indexeintrag ist hoch.
Empfehlung:
Dies bedeutet in der Regel häufig vollständige Indexscans. Vollständige Indexscans sind schneller als Tablenscans aber sie kosten viele CPU-Zyklen in großen Tabellen, wenn diese Tabellen große Mengen von Aktualisierungen und Löschungen haben oder hatten. Ein Ausführen von "OPTIMIZE TABLE" auf diese Tabellen kann die Menge verringern und/oder die Geschwindigkeit der vollständigen Indexscans beschleunigen. Abgesehen davon können vollständige Indexscans nur durch Umschreiben der Abfragen reduziert werden.
Ausrichtung:
Durchschnitt Indexscans: 30.19 pro Stunde, dieser Wert sollte kleiner als 1 pro Stunde sein
Benutzte Variable/Formel:
Handler_read_first / Uptime
Test:
value * 60 * 60 > 1
Problem:
Die Lese-Rate fester Positionen ist hoch.
Empfehlung:
Dies deutet darauf hin, dass viele Abfragen Sortieren und/oder vollständige Tabellen-Scan benötigen, einschließlich Join-Abfragen die keine Indizes verwenden. Fügen Sie Indizes hinzu wo zutreffend.
Ausrichtung:
Durchschnittliche Lese-Rate fester Positionen: 1.1 pro Minute, dieser Wert sollte kleiner als 1 pro Stunde sein
Benutzte Variable/Formel:
Handler_read_rnd / Uptime
Test:
value * 60 * 60 > 1
Problem:
Lese-Rate nächste Tabellenzeile ist hoch.
Empfehlung:
Dies deutet darauf hin, dass viele Abfragen Full Table Scans durchführen. Fügen Sie Indizes hinzu wo zutreffend.
Ausrichtung:
Lese-Rate nächste Tabellenzeile: 7.56 pro Sekunde, dieser Wert sollte kleiner als 1 pro Stunde sein
Benutzte Variable/Formel:
Handler_read_rnd_next / Uptime
Test:
value * 60 * 60 > 1
Problem:
Viele temporäre Tabellen werden auf die Festplatte geschrieben, anstelle im Speicher gehalten zu werden.
Empfehlung:
Erhöhen von max_heap_table_size und tmp_table_size könnten helfen. Jedoch werden einige temporären Tabellen immer unabhängig vom Wert dieser Variablen auf den Datenträger geschrieben. Um diese zu verhindern müssen Sie Ihre Abfragen so umschreiben das es nicht zu diesen Bedingungen kommt (Innerhalb einer temporären Tabelle: Vorhandensein eines BLOB- oder TEXT-Spalte oder eine Spalte größer als 512 Bytes) wie am Anfang von Artikel der Pythian Group erwähnt wird
Ausrichtung:
31% aller temporären Tabellen werden auf die Festplatte geschrieben, dieser Wert sollte unter 25% liegen
Benutzte Variable/Formel:
Created_tmp_disk_tables / (Created_tmp_tables + Created_tmp_disk_tables) * 100
Test:
value > 25
Problem:
MyISAM Schlüssel-Cache (Indize Cache) % benutz ist niedrig.
Empfehlung:
Sie müssen möglicherweise Ihren key_buffer_size verkleinern, überprüfen Sie Ihre Tabellen um zu sehen ob Indizes entfernt wurden oder Überprüfen Sie Abfragen und Erwartungen um zu sehen welche Indizes verwendet werden.
Ausrichtung:
maximal wurden % des MyISAM Sortierungspuffers benutzt: 0%, dieser Wert sollte über 95% liegen
Benutzte Variable/Formel:
Key_blocks_used * key_cache_block_size / key_buffer_size * 100
Test:
value < 95
Problem:
Zu viele Verbindungen werden abgebrochen.
Empfehlung:
Verbindungen sind in der Regel abgebrochen, wenn sie nicht autorisiert werden können. Dieser Artikel könnte Ihnen helfen der Quelle auf die Spur zu kommen.
Ausrichtung:
44% aller Verbindungen werden abgebrochen. Dieser Wert sollte unter 1% liegen
Benutzte Variable/Formel:
Aborted_connects / Connections * 100
Test:
value > 1
Problem:
Zu viele Verbindungen werden abgebrochen.
Empfehlung:
Verbindungen sind in der Regel abgebrochen, wenn sie nicht autorisiert werden können. Dieser Artikel könnte Ihnen helfen der Quelle auf die Spur zu kommen.
Ausrichtung:
Die Rate der abgebrochenen Verbindungen ist 37.18 pro Stunde, dieser Wert sollte weniger als 1 pro Stunde sein
Benutzte Variable/Formel:
Aborted_connects / Uptime
Test:
value * 60 * 60 > 1
Problem:
Zu viele Clienten werden abgebrochen.
Empfehlung:
Clienten werden in der Regel abgebrochen, wenn sie ihre Verbindung zu MySQL nicht richtig schließen. Dies kann aufgrund von Netzwerkproblemen oder Quellcode der Datenbank-Handler nicht ordnungsgemäß schließen passieren. Überprüfen Sie Ihre Netzwerk und Quellcode.
Ausrichtung:
6% aller Clienten werden abgebrochen. Dieser Wert sollte unter 2% liegen
Benutzte Variable/Formel:
Aborted_clients / Connections * 100
Test:
value > 2
Problem:
Zu viele Clienten werden abgebrochen.
Empfehlung:
Clienten werden in der Regel abgebrochen, wenn sie ihre Verbindung zu MySQL nicht richtig schließen. Dies kann aufgrund von Netzwerkproblemen oder Quellcode der Datenbank-Handler nicht ordnungsgemäß schließen passieren. Überprüfen Sie Ihre Netzwerk und Quellcode.
Ausrichtung:
Die Rate der abgebrochene Clienten ist 5.06 pro Stunde, dieser Wert sollte kleiner als 1 pro Stunde sein
Benutzte Variable/Formel:
Aborted_clients / Uptime
Test:
value * 60 * 60 > 1
Problem:
Der Abfragen-Zwischenspeicher ist nicht aktiviert.
Empfehlung:
Der Abfrage-Zwischenspeicher verbessert die Leistung, wenn er korrekt konfiguriert wurde. Aktivieren Sie ihn indem Sie query_cache_size auf ein zweistelligen MiB-Wert und query_cache_type auf 'ON' setzen. Beachten Sie: Ignorieren Sie diese Empfehlung, wenn Sie memcached benutzen.
Ausrichtung:
query_cache_size ist auf 0 oder query_cache_type ist auf 'OFF' gesetzt
Benutzte Variable/Formel:
query_cache_size
Test:
value == 0 || query_cache_type == 'OFF' || query_cache_type == '0'