{"id":253955,"date":"2024-02-03T16:02:00","date_gmt":"2024-02-03T13:02:00","guid":{"rendered":"https:\/\/inform.click\/nutzliche-tricks-zum-finden-und-beheben-langsamer-wordpress-datenbankabfragen\/"},"modified":"2024-02-03T16:02:00","modified_gmt":"2024-02-03T13:02:00","slug":"nutzliche-tricks-zum-finden-und-beheben-langsamer-wordpress-datenbankabfragen","status":"publish","type":"post","link":"https:\/\/inform.click\/de\/nutzliche-tricks-zum-finden-und-beheben-langsamer-wordpress-datenbankabfragen\/","title":{"rendered":"N\u00fctzliche Tricks zum Finden und Beheben langsamer WordPress-Datenbankabfragen"},"content":{"rendered":"<p>\n  Moderate SQL-Anfragen k\u00f6nnen die Ausf\u00fchrung der WordPress-Anwendungsentwicklungsseite beeintr\u00e4chtigen. Gelegentlich sind moderate Abfragen eine Folge von unzureichend strukturiertem SQL, das so niemals h\u00e4tte durchgef\u00fchrt werden d\u00fcrfen.\n<\/p>\n<p>\n  Dar\u00fcber hinaus waren moderate Anfragen in einigen F\u00e4llen an einem bestimmten Punkt in Wirklichkeit schnelle Fragen \u2013 doch als die Website erfahrener wurde, wurde die Anfrage langsamer und langsamer, machtlos, um die wachsende Datenbank im Auge zu behalten.\n<\/p>\n<p>\n  Ungeachtet dessen, wie das SQL moderat wurde, sollte man einige Ans\u00e4tze untersuchen, um Probleme in der WordPress-Anwendungsentwicklung zu entdecken und zu beheben. Hier und da ben\u00f6tigt man m\u00f6glicherweise bestimmte Webanwendungen und hat m\u00f6glicherweise nicht gen\u00fcgend Energie, F\u00e4higkeiten oder Ausgabenplan, um benutzerdefinierte Verbesserungen vorzunehmen. Das Erstellen ohne jegliche Vorbereitung kann die Antwort auf einige Probleme sein, aber es kann l\u00e4nger dauern, als von einer aktuellen Codebasis aus zu beginnen. WordPress wurde urspr\u00fcnglich als Blogging-Plattform konzipiert und ist daf\u00fcr immer noch hervorragend. Wie dem auch sei, es hat sich zu einem vollwertigen Content-Management-System (CMS) entwickelt und kann f\u00fcr einige Zwecke sogar eine starke Webanwendung erstellen \u2013 schnell und zu einem wesentlich geringeren Kostenplan als eine benutzerdefinierte Verbesserung. W\u00e4hrend WordPress integrierte Entwicklungsanwendungen bietet, Es kann f\u00fcr Webanwendungen verwendet werden, um es besonders n\u00fctzlich zu machen. Die inh\u00e4renten Seiten- und Beitragsstrukturen k\u00f6nnen f\u00fcr viele Dinge verwendet werden, aber f\u00fcr den Fall, dass benutzerdefinierte Informationen und Felder aufgenommen, gesucht oder abgefragt, kontrolliert und angezeigt werden m\u00fcssen, ist etwas zus\u00e4tzliche Arbeit erforderlich.\n<\/p>\n<h5>\n  Langsame Abfragen finden<br \/>\n<\/h5>\n<p>\n  Die Suche nach dem Ursprung moderater Fragen umfasst zwei Phasen:\n<\/p>\n<ol>\n<li>Herausfinden, welche Fragen wirklich die moderaten sind.\n  <\/li>\n<li>Identifizieren des Programms, das sie bedient.\n  <\/li>\n<\/ol>\n<p>\n  Man sollte einen Blick auf zwei Module und ein SaaS werfen, die es ihnen erm\u00f6glichen k\u00f6nnen, moderate Anfragen zu entdecken.\n<\/p>\n<h5>\n  Abfragemonitor<br \/>\n<\/h5>\n<p>\n  Um Informationen \u00fcber die gerade betriebene Seite zu erhalten, kann dieses Modul verwendet werden. Trotz einer ganzen Reihe von Daten \u00fcber die Insider-Aktivit\u00e4ten von WordPress gibt es eine Punkt-f\u00fcr-Punkt-Aufschl\u00fcsselung von:\n<\/p>\n<ul>\n<li>Wie viele Fragen sind bei dieser Nachfrage aufgetreten?\n  <\/li>\n<li>Welche Anfrage auf der Seite hat am l\u00e4ngsten gedauert?\n  <\/li>\n<li>Welche Kapazit\u00e4ten haben am meisten Energie in SQL-Fragen investiert?\n  <\/li>\n<li>Egal, ob diese Anfragen aus Modulen, F\u00e4chern oder dem WordPress-Center stammen\n  <\/li>\n<\/ul>\n<p>\n  Der Abfragebildschirm erkennt sogar moderate Fragen mit irritierendem rotem Inhalt, was die Auswahl des Problems SQL sehr einfach macht.\n<\/p>\n<h5>\n  Debug-Leiste<br \/>\n<\/h5>\n<p>\n  Ein weiteres ph\u00e4nomenales Instrument, um frostig moderates SQL zu finden, ist das alte, bew\u00e4hrte Modul Debug Bar. Die Debug-Leiste liefert Daten \u00fcber die innere Funktionsweise von WordPress, wenn eine Seite geladen wird, mit Dingen wie:\n<\/p>\n<ol>\n<li>Parameter von WP_Query\n  <\/li>\n<li>Daten anfordern (Z\u00e4hlung \u00dcberarbeitungsregeln koordinieren)\n  <\/li>\n<li>SQL-Anfragen, die von der vorliegenden Seite erzeugt werden\n  <\/li>\n<\/ol>\n<p>\n  Um das SQL-Following in der Debug-Leiste zu aktivieren, sollte der Benutzer Wert darauf legen, SAVEQUERIES irgendwo auf der Website zuzulassen \u2013 wahrscheinlich in wp-config.php\n<\/p>\n<p>\n  Achtung: SAVEQUERIES beeinflusst die Ausf\u00fchrung auf der Site und sollte vermutlich nicht auf einem Generierungsserver verwendet werden. Es kann jedoch auf einer Weiterentwicklungsmaschine verwendet werden.\n<\/p>\n<p>\n  Das Finden des moderaten SQL ist mit Debug Bar nicht sehr einfach. Zum Beispiel gibt es keine sortierbaren Tabellen oder bietet moderate Abfragen f\u00fcr den Benutzer. Was die Debug-Leiste bietet, ist eine Kapazit\u00e4tsverfolgung, die den Benutzer genau in die Richtung des Ursprungs einer Frage f\u00fchrt.\n<\/p>\n<p>\n  Dies ist ein \u00dcberblick \u00fcber die geladenen Dokumente und die Kapazit\u00e4ten, die sich aus der Ausf\u00fchrung der Anfrage ergeben. Meistens ist man scharf auf den Abschnitt zum absoluten Weitermachen im Rundown; Dies ist der Ort, an dem die gem\u00e4\u00dfigte Frage ausgef\u00fchrt wurde und wo man seine Jagd beginnen sollte. Das Praktische daran, die Einstellung jeder Kapazit\u00e4t zu haben, die diese Frage aufwirft, ist, dass sie Aufschluss dar\u00fcber geben kann, warum die SQL in jedem Fall ausgef\u00fchrt wurde.\n<\/p>\n<h5>\n  NewRelic<br \/>\n<\/h5>\n<p>\n  NewRelic ist eine Verwaltung, die die Ausf\u00fchrung der Entwicklung von Webanwendungen, einschlie\u00dflich der Entwicklung von WordPress-Anwendungen, misst und \u00fcberwacht. Die Verwaltung liefert eine Unmenge an Daten \u00fcber die Ausf\u00fchrung der Website. Es ist alles andere als schwierig, die Orientierung in den Informationen zu verlieren, die NewRelic dem Benutzer bei SQL-Anfragen im Minutentakt liefert.\n<\/p>\n<p>\n  Es gibt zwei bemerkenswerte Unterschiede zwischen NewRelic und den Modulen, auf die wir zuvor verwiesen haben:\n<\/p>\n<ol>\n<li>NewRelic gibt viel mehr Einblick in die Ausf\u00fchrung des PHP, bis hin zur genauen Berechnung der f\u00fcr jede Funktion aufgewendeten Zeit\n  <\/li>\n<li>NewRelic verfolgt jede Anforderung an die Site au\u00dfer Sichtweite, sodass man sp\u00e4ter darauf verweisen kann, um moderates SQL zu entdecken. Die Module geben ihm nur die aktuelle Seite.\n  <\/li>\n<\/ol>\n<p>\n  Es ist wichtig, dass NewRelic eine kostenlose Plattform hat, die allgemeine Informationen \u00fcber die Ausf\u00fchrung der Website gibt, aber dass man f\u00fcr den ausgefallenen Kleinkram auf eine kostenpflichtige Version umsteigen muss, um einzelne Anforderungen zu \u00fcberpr\u00fcfen und moderate Anfragen zu finden.\n<\/p>\n<h5>\n  Verstehen einer langsamen Abfrage mit EXPLAIN<br \/>\n<\/h5>\n<p>\n  Bis zu diesem Zeitpunkt waren die Ger\u00e4te f\u00fcr die Suche nach moderaten Fragen gesichert. Gegenw\u00e4rtig sollte bekannt sein, warum diese Anfragen die Dinge behindern.\n<\/p>\n<p>\n  Das MySQL-Schlagwort EXPLAIN kann es erm\u00f6glichen, \u00e4h, zu kl\u00e4ren, was vor sich geht. Das Hinzuf\u00fcgen von EXPLAIN am Anfang einer Anfrage zeigt an, wie MySQL eine Frage ausf\u00fchrt. Bei komplizierten Abfragen kann EXPLAIN dabei helfen, moderate Schwerpunkte in den SQLs zu unterscheiden, beispielsweise moderate Unterabfragen oder verschwenderische Aktivit\u00e4ten.\n<\/p>\n<h5>\n  Beheben langsamer Abfragen<br \/>\n<\/h5>\n<p>\n  Da festgestellt wurde, dass die Abfragen moderat sind, und EXPLAIN dem Benutzer mitgeteilt hat, warum dies der Fall ist, sollten Sie einen Blick auf einige M\u00f6glichkeiten werfen, um diese schl\u00e4frigen Probleme zu beheben.\n<\/p>\n<p>\n  <strong>Option 1: Die Frage verdrehen<\/strong>\n<\/p>\n<p>\n  Es k\u00f6nnte eine Frage geben, die den Bildschirm von Beitrag bearbeiten auf eine sehr langsame Geschwindigkeit bringt. Die Anfrage war ein Teil der Metabox der benutzerdefinierten Felder.\n<\/p>\n<p>\n  Das definitive St\u00fcck SQL bringt eine meta_keys-Liste aus der Tabelle ks29so_postmeta, die aller Wahrscheinlichkeit nach nicht mit dem Unterstrich beginnt. Die GROUP BY-Erkl\u00e4rung impliziert, dass jedes Ergebnis etwas Besonderes ist.\n<\/p>\n<p>\n  Wenn Sie diese Anfrage mehrmals ausf\u00fchren, ist hier die Zeit, in der sie dauern kann:\n<\/p>\n<p>\n  1,7145 Sek\n<\/p>\n<p>\n  1,7911 Sek\n<\/p>\n<p>\n  1,8076 Sek\n<\/p>\n<p>\n  1,7707 Sek\n<\/p>\n<p>\n  1,8456 Sek\n<\/p>\n<p>\n  Man k\u00f6nnte eine Abfrage entwickeln, die zu \u00e4hnlichen Ausgaben f\u00fchrt. Es muss als einzigartiger meta_key ausgew\u00e4hlt werden. Au\u00dfergew\u00f6hnlich ist ein \u00e4quivalentes Wort f\u00fcr besonders, was zuf\u00e4llig eine SQL-Erkl\u00e4rung ist!\n<\/p>\n<p>\n  <strong>Option 2: Hinzuf\u00fcgen eines Index<\/strong>\n<\/p>\n<p>\n  W\u00e4hrend der Benutzer eine SQL-Frage f\u00fcr eine festgelegte MySQL-Tabelle ausf\u00fchrt, muss er die gesamte Tabelle untersuchen, um herauszufinden, welche Zeilen f\u00fcr die jeweilige Abfrage von Bedeutung sind. An dem Punkt, an dem der Tisch riesig wird, dauert diese \u00dcberpr\u00fcfung eine ganze Weile.\n<\/p>\n<p>\n  An dieser Stelle kommen MySQL-Datens\u00e4tze ins Spiel. Listen nehmen die Informationen in einer Tabelle auf und ordnen sie so an, dass Informationen viel einfacher zu finden sind. Indem die Informationen auf eine bestimmte Weise sortiert werden, tragen Dateien dazu bei, das Filtern zu verringern, das MySQL f\u00fcr jede Anfrage durchf\u00fchrt.\n<\/p>\n<p>\n  Dateien k\u00f6nnen zu einzelnen Segmenten oder \u00fcber mehrere Abschnitte hinweg hinzugef\u00fcgt werden.\n<\/p>\n<p>\n  Mit einer Datei auf meta_key \u00e4hnelt die allererste SQL-Fragezeit etwas dieser:\n<\/p>\n<p>\n  0,0041 Sek\n<\/p>\n<p>\n  0,0023 Sek\n<\/p>\n<p>\n  0,0030 Sek\n<\/p>\n<p>\n  0,0025 Sek\n<\/p>\n<p>\n  0,0019 Sek\n<\/p>\n<p>\n  Das ist extrem schlau.\n<\/p>\n<p>\n  Ein Alarmausdruck f\u00fcr Dateien: Jedes Mal, wenn INSERT eine Spalte erstellt oder UPDATE f\u00fcr eine Tabelle verwendet wird, wird die Liste neu bestimmt, was eine kostspielige Aktivit\u00e4t sein kann. Aufzeichnungen machen das Durchlesen der Tabelle schneller, aber das Schreiben in sie ist langsamer. Obwohl eine richtig platzierte Indexliste sehr gut funktionieren kann, sollte man nicht davon besessen sein, ohne die allgemeinen Auswirkungen der Liste auf die Datenbank zu \u00fcberpr\u00fcfen.\n<\/p>\n<p>\n  <strong>Option 3: Zwischenspeichern der Abfrageergebnisse<\/strong>\n<\/p>\n<p>\n  Sobald klar ist, dass es sich um eine moderate Frage handelt. Anstatt die Frage zu \u00e4ndern, kann es ein Szenario geben, in dem es nur die Nachwirkungen der Untersuchung beseitigt. Auf diese Weise w\u00fcrde man die Regelm\u00e4\u00dfigkeit der Ermittlungen einschr\u00e4nken und in den meisten F\u00e4llen einen \u201eFreifahrtschein&#8220; erhalten.\n<\/p>\n<p>\n  Die WordPress Transients API ist eine der M\u00f6glichkeiten, die Abfragen zu reservieren. Transienten werden verwendet, um die Folgen kostspieliger Aufgaben aufzuheben, z. B.\n<\/p>\n<ul>\n<li>Anfragen an externe Websites (z. B. Abrufen laufender Facebook-Posts)\n  <\/li>\n<li>Langsame Handhabung (z. B. Suche nach riesigen Saiten mit einer \u00fcblichen Artikulation)\n  <\/li>\n<li>Langsame Datenbankabfragen!\n  <\/li>\n<\/ul>\n<h5>\n  Auswahl eines Ansatzes<br \/>\n<\/h5>\n<p>\n  Es gibt eine Reihe von Alternativen, die dargelegt wurden, und h\u00f6chstwahrscheinlich gibt es siebzehn verschiedene Ans\u00e4tze, um diese moderate Untersuchung zu verstehen. Welche Vorgehensweise sollte man w\u00e4hlen?\n<\/p>\n<p>\n  Wahl 1 (\u00c4nderung der Frage) lieferte brillante Ergebnisse. Es sollte jedoch die M\u00f6glichkeit in Betracht gezogen werden, dass die modifizierte Untersuchung im Allgemeinen nicht zu \u00e4hnlichen Ergebnissen f\u00fchrt. Man k\u00f6nnte den Code unwissentlich mit einer etwas abwegigen Frage borken.\n<\/p>\n<p>\n  Alternative 2 (einschlie\u00dflich eines Datensatzes) ist nicht immer denkbar, abh\u00e4ngig von der Tabelle und den Abschnitten, die von der Anfrage verwendet werden. Aufgrund der Tabellen des WordPress-Anwendungsentwicklungszentrums m\u00fcsste man \u00fcber die anderen Auswirkungen der Aufzeichnungen betonen:\n<\/p>\n<ul>\n<li>Erwartet die zentrale Aktualisierungsroutine zus\u00e4tzliche Listen?\n  <\/li>\n<li>Wird das Einf\u00fcgen einer Datei verschiedene Abfragen moderieren, \u00e4hnlich wie bei INSERT und UPDATE?\n  <\/li>\n<\/ul>\n<p>\n  Alternative 3 (Reservierung der Ergebnisse \u00fcber Obdachlose) hat keine nennenswerten Auswirkungen \u2013 der Benutzer muss die erste Anfrage nicht \u00e4ndern und es besteht keine Notwendigkeit, die Datenbankstruktur anzupassen.\n<\/p>\n<p>\n  Normalerweise entscheiden sich die Leute f\u00fcr Option 3. In einem bestimmten Fall kann er eine andere Alternative w\u00e4hlen, abh\u00e4ngig von der Frage, die er l\u00f6st, oder der bestimmten Site, die SQL-Probleme hat. Es gibt sicherlich keine allgemeing\u00fcltige Antwort auf die meisten Ausf\u00fchrungsprobleme, also ist es erlaubt, sich von der Entscheidung des anderen zu unterscheiden \u2013 oder jede der drei ohne einen Moment zu z\u00f6gern zu versuchen!\n<\/p>\n<h5>\n  Auf dem Laufenden bleiben<br \/>\n<\/h5>\n<p>\n  Es hat hier ein echtes Problem skizziert. Die Custom Fields-Box auf CSS-Tricks war wirklich ein \u00dcbelt\u00e4ter f\u00fcr einige \u00e4u\u00dferst moderate Datenbankabfragen. Es hat auch verschiedene Wege zu m\u00f6glichen Arrangements skizziert.\n<\/p>\n<p>\n  <strong>Konzeption von brandneuen Ideen<\/strong>\n<\/p>\n<p>\n  Es gibt verschiedene Methoden, die man anwenden kann, um die Ausf\u00fchrung von Fragen zu beschleunigen und zu versuchen, die mehr Arbeit erfordern, als nur die Anfrage zu optimieren oder eine Liste hinzuzuf\u00fcgen. Einer der langsamsten Teile der Frage ist die Arbeit, die geleistet wird, um die Tabellen zu verbinden, um von der Client-ID zur Artikel-ID zu gelangen, und man muss dies f\u00fcr jeden Client tun.\n<\/p>\n<p>\n  Man k\u00f6nnte die Informationen denormalisieren, indem man eine Tabelle erstellt, in der die Genehmigungsinformationen zusammen mit der Client-ID und der Element-ID f\u00fcr alle Lizenzen gespeichert sind, und diese einfach f\u00fcr einen bestimmten Client abfragt. Man m\u00fcsste die Tabelle mithilfe von MySQL-Triggern auf INSERT\/UPDATE\/DELETE in die Lizenztabelle \u00e4ndern (oder andere, die sich darauf verlassen, wie sich die Informationen \u00e4ndern k\u00f6nnten), dies w\u00fcrde jedoch die Ausf\u00fchrung der Abfrage dieser Informationen erheblich verbessern.\n<\/p>\n<p>\n  Wenn also verschiedene Joins die Frage in MySQL moderieren, kann es schneller sein, die Anfrage in mindestens zwei Artikulationen aufzuteilen und sie unabh\u00e4ngig voneinander in PHP auszuf\u00fchren und anschlie\u00dfend die Ergebnisse im Code zu sammeln und zu kanalisieren.\n<\/p>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  Aufnahmequelle: instantshift.com\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Moderate SQL-Anfragen k\u00f6nnen die Ausf\u00fchrung der WordPress-Anwendungsentwicklungsseite beeintr\u00e4chtigen. Gelegentlich sind moderate Abfragen eine Folge von unzureichend strukturiertem SQL, das so niemals h\u00e4tte durchgef\u00fchrt werden d\u00fcrfen. Dar\u00fcber hinaus waren moderate Anfragen in einigen F\u00e4llen an einem bestimmten Punkt in Wirklichkeit schnelle Fragen \u2013 doch als die Website erfahrener wurde, wurde die Anfrage langsamer und langsamer, machtlos, um die wachsende Datenbank im Auge zu behalten. Ungeachtet dessen, wie das SQL moderat wurde, sollte man einige Ans\u00e4tze untersuchen, um Probleme in der WordPress-Anwendungsentwicklung zu entdecken und zu beheben. Hier und da braucht man vielleicht bestimmte Web \u2026<\/p>\n","protected":false},"author":1,"featured_media":204810,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[224,55,146,198],"tags":[],"class_list":["post-253955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lehrbuecher","category-web-und-wordpress","category-web-tipps-und-tricks","category-webdesign"],"_links":{"self":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/posts\/253955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/comments?post=253955"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/posts\/253955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/media\/204810"}],"wp:attachment":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/media?parent=253955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/categories?post=253955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/tags?post=253955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}