Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13963|Antwort: 0

[Quelle] MySQL nutzt Profiling, um die Gründe für die langsame Ausführung von SQL-Anweisungen zu analysieren

[Link kopieren]
Veröffentlicht am 06.07.2017 11:12:17 | | | |

Ein Kollege bei CleverCode empfahl kürzlich ein Tool zur Analyse von SQL-Anweisungen in MySQL, Profiling, und stellte fest, dass dieses Tool sehr gut ist, da es genau analysieren kann, wo die spezifische Zeit für SQL-Anweisungen während des Abfrageprozesses aufgewendet wurde. CleverCode fasst das hier zusammen und teilt es mit Ihnen.

1 Einführung

Der Query Profiler von MySQL ist ein sehr praktisches Tool zur Analyse von Anfragen, mit dem Sie den Verbrauch mehrerer Ressourcen im gesamten Ausführungsprozess einer Abfrage, wie CPU, IO, IPC, SWAP usw., sowie das Auftreten von PAGE FAULTS, CONTEXT SWITCHING usw. erhalten und außerdem den Standort jeder von MySQL aufgerufenen Funktion in der Quelldatei während der Abfrage abrufen können.

MySQL-Version 5.0.37 oder später unterstützt die DEBUGGING-Funktion PROFILING, die es ermöglicht, die Details der von SQL-Anweisungen verbrauchten Ressourcen zu verstehen. Da es den Aufruf der getrusage()-Funktion des Systems erfordert, kann sie nur auf Linux/Unix-Klassenplattformen verwendet werden, nicht unter Windows. Außerdem dient PROFILING der Verarbeitung von Prozessen und nicht Threads, und andere Anwendungen auf dem Server können deine Debugging-Ergebnisse beeinflussen, daher eignet sich dieses Tool für Debugging während der Entwicklung, und wenn du in einer Produktionsumgebung debuggen möchtest, solltest du auf seine Einschränkungen achten.

2 Betrieb

2.1 Prüfe, ob das Profil aktiviert ist, es ist standardmäßig deaktiviert.


2.2 Profiling aktivieren. Variable Profiling ist eine Benutzervariable, die jedes Mal wieder aktiviert werden muss.


2.3 Führen Sie die folgenden Anweisungen aus: Um zu vermeiden, dass SQL zuvor in QCACHE gespeichert wurde, wird empfohlen, die SELECT-Anweisung zu zwingen, beim Ausführen von SQL keine QCACHE-Erkennung durchzuführen. So können Sie die Genauigkeit der Analyse einreichen.


2.4 VerwendungProfilanfrage anzeigenDer jüngsteAusführungsinformationen der Anweisung。 (Analyse: Wählen Sie sql_no_cache Zähl(*) aus system_user bei Alter > 20)




2.5 Verwendung von Profilen anzeigen. Sehen Sie sich eine Liste von Anweisungen an, die auf dem Server ausgeführt werden. (Abfrage-ID, aufgewendete Zeit, Anweisung).




2.6 Verwenden Sie das Show-Profil, um die Ausführungsinformationen der Formulierungs-ID abzufragen. Hier analysieren wir die Aussage mit ID 6. (Analyse: Wählen Sie sql_no_cache Zähl(*) aus system_user mit dem Alter > 20 Jahren).


2.7 CPU- und Block-IO-Verbrauch erhalten.




2.8 Zusätzliche Informationen erhalten. kann durch die Ausführung von "SHOW PROFILE *** FOR QUERY n" erhalten werden. Referenzadresse: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.







Vorhergehend:Neulingeberichte
Nächster:Blockbuster-Nachrichten! Die Entwicklung von Mini-Programmen ist kostenlos!
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com