Der Explore-Abfrage-Tracker und der Bereich Leistung für Explores liefern schrittweise Leistungsdaten für eine Explore-Abfrage. Anhand dieser Daten können Sie wichtige Ausgangspunkte für die Fehlerbehebung und Lösung von Leistungsproblemen bei Abfragen identifizieren und Empfehlungen für Verbesserungen erhalten.
Explore-Abfrage-Tracker
Der Explore-Abfrage-Tracker zeigt den Fortschritt einer Explore-Abfrage in den drei Phasen der Abfrage an, während die Abfrage ausgeführt wird.
![]()
Wenn die Ausführung einer Abfrage lange dauert, kann der Abfrage-Tracker angeben, welche Phase der Abfrage das Leistungsproblem verursacht. So lässt sich leichter erkennen, wo Leistungsprobleme auftreten können und wo Optimierungsmaßnahmen am effektivsten sind.
Der Abfrage-Tracker wird angezeigt, wenn ein Explore ausgeführt wird, sofern entweder der Bereich Visualisierung oder der Bereich Daten für Explores geöffnet ist.
Bereich Leistung für Explores
Wenn Sie den Bereich Leistung für Explores aufrufen möchten, klicken Sie auf den Link Leistungsdetails ansehen. Dieser ist für jede ausgeführte Explore-Abfrage verfügbar.

Im Bereich Leistung wird die Zeit angezeigt, die die Abfrage in jeder der drei Abfragephasen verbracht hat. Außerdem sind Links zur Dokumentation zur Leistung und zum Abfrageverlauf Aktivitätsdashboard der Systemaktivität enthalten. Dort finden Sie aktuelle und bisherige Leistungsdaten für die Abfrage und das Explore, das zum Erstellen der Abfrage verwendet wurde.

Abfragephasen
Wenn in einem Looker-Explore eine Datenbankabfrage ausgeführt wird, erfolgt dies in drei Phasen:
- Die Phase der Abfrageinitialisierung
- Phase der Abfrageausführung
- Phase der Verarbeitung der Ergebnisse
Phase der Abfrageinitialisierung
Während der Phase Abfrageinitialisierung führt Looker alle Aufgaben aus, die erforderlich sind, bevor die Abfrage an Ihre Datenbank gesendet wird. Die Phase Abfrageinitialisierung umfasst die folgenden Aufgaben:
- Das LookML-Modell kompilieren
- Prüfen, ob persistente abgeleitete Tabellen (PDTs) erstellt werden müssen
- SQL-Code für die Abfrage generieren
- Die Datenbankverbindung herstellen
Auf der Dokumentationsseite Leistungsmesswerte für Abfragen verstehen wird beschrieben, wie Sie das Explore Leistungsmesswerte für Abfragen in der Systemaktivität verwenden, um detaillierte Aufschlüsselungen einer Abfrage anzusehen. Die Phase Abfrageinitialisierung des Abfrage-Trackers umfasst die Ereignisse, die in den Phasen Asynchrone Worker-Phase, Initialisierungsphase und Phase der Verbindungsverwaltung des Explore Leistungsmesswerte für Abfragen beschrieben werden.
Phase der Abfrageausführung
In der Phase Abfrage wird ausgeführt kontaktiert Looker Ihre Datenbank, fragt sie ab und gibt die Ergebnisse der Abfrage zurück. Leistungsprobleme in dieser Phase können auf ein Problem mit der externen Datenbank hinweisen, z. B. auf PDTs, deren Neuerstellung lange dauert und die möglicherweise optimiert werden müssen, oder auf externe Datenbanktabellen, die möglicherweise optimiert werden müssen. Die Phase Abfrage wird ausgeführt umfasst die folgenden Aufgaben:
- Erstellen aller PDTs in der Datenbank, die für die Explore-Abfrage erforderlich sind
- Ausführen der angeforderten Abfrage in der Datenbank
Auf der Dokumentationsseite Leistungsmesswerte für Abfragen verstehen wird beschrieben, wie Sie das Explore Leistungsmesswerte für Abfragen in der Systemaktivität verwenden, um detaillierte Aufschlüsselungen einer Abfrage anzusehen. Die Phase Abfrage wird ausgeführt des Abfrage-Trackers umfasst die Ereignisse, die in der Phase Hauptabfragen des Explore Leistungsmesswerte für Abfragen beschrieben werden.
Mögliche Schritte bei Leistungsproblemen in dieser Phase:
- Erstellen Sie nach Möglichkeit Explores mit
many_to_one-Joins. Wenn Sie Ansichten von der feinsten Detailebene mit höher aggregierten Ebenen zusammenführen (many_to_one), erzielen Sie in der Regel die beste Abfrageleistung. - Nutzen Sie das Caching umfassend und synchronisieren Sie es nach Möglichkeit mit Ihren ETL-Richtlinien, um den Datenbanktraffic durch Abfragen zu reduzieren. Standardmäßig speichert Looker Abfragen für eine Stunde im Cache. Sie können die Caching-Richtlinie steuern und Looker-Datenaktualisierungen mit Ihrem ETL-Prozess synchronisieren, indem Sie Datengruppen
in Explores mit dem Parameter
persist_withanwenden. Durch die umfassende Nutzung des Caching kann Looker enger in die Backend-Datenpipeline eingebunden werden. Der Cache wird dann optimal genutzt, ohne das Risiko, dass veraltete Daten analysiert werden. Benannte Caching-Richtlinien können auf ein ganzes Modell oder auf einzelne Explores und persistente abgeleitete Tabellen (PDTs) angewendet werden. - Verwenden Sie die Funktion Aggregatfunktion von Looker, um Rollup- oder Zusammenfassungstabellen zu erstellen, die Looker nach Möglichkeit für Abfragen verwenden kann, insbesondere für häufige Abfragen großer Datenbanken. Sie können die Aggregatfunktion auch verwenden, um die Leistung ganzer Dashboards drastisch zu verbessern. Weitere Informationen finden Sie in der Anleitung zur Aggregatfunktion.
- Verwenden Sie PDTs für schnellere Abfragen. Wandeln Sie Explores mit vielen komplexen oder leistungsschwachen Joins oder Dimensionen mit Unterabfragen oder Unterauswahlen in PDTs um, damit die Ansichten vor der Laufzeit verknüpft und bereit sind.
- Wenn Ihr Datenbankdialekt inkrementelle PDTs unterstützt, konfigurieren Sie diese, um die Zeit zu verkürzen, die Looker für die Neuerstellung von PDT-Tabellen benötigt.
- Vermeiden Sie es, Ansichten in Explores mit verketteten Primärschlüsseln zusammenzuführen, die in Looker definiert sind. Verknüpfen Sie stattdessen die Basisfelder, aus denen der verkettete Primärschlüssel der Ansicht besteht. Alternativ können Sie die Ansicht als PDT neu erstellen, wobei der verkettete Primärschlüssel in der SQL-Definition der Tabelle und nicht im LookML-Code einer Ansicht vordefiniert ist.
- Verwenden Sie das Tool „In SQL-Runner erklären“ für Benchmarking.
EXPLAINgibt eine Übersicht über den Abfrageausführungsplan Ihrer Datenbank für eine bestimmte SQL-Abfrage aus, sodass Sie Abfragekomponenten erkennen können, die optimiert werden können. Weitere Informationen finden Sie im Community-Beitrag SQL mitEXPLAINoptimieren. - Deklarieren Sie Indexe. Sie können die Indexe jeder Tabelle direkt in Looker über SQL-Runner aufrufen. Klicken Sie dazu in einer Tabelle auf das Zahnradsymbol und wählen Sie Indexe anzeigen aus.
Die häufigsten Spalten, die von Indexen profitieren können, sind wichtige Datumsangaben und Fremdschlüssel. Wenn Sie diesen Spalten Indexe hinzufügen, wird die Leistung für fast alle Abfragen gesteigert. Dies gilt auch für PDTs. LookML-Parameter wie
indexes,sort keysunddistributionkönnen entsprechend angewendet werden.
Phase der Verarbeitung der Ergebnisse
Während der Phase Ergebnisse werden verarbeitet rendert und verarbeitet Looker die Ergebnisse der Abfrage. Die Phase Ergebnisse werden verarbeitet umfasst die folgenden Aufgaben:
- Abfrageergebnisse in den Cache streamen
- Tabellenkalkulationen auflösen
- Ergebnisse der Liquid-Vorlagensprache formatieren
- Abfragen zusammenführen
- Summen und Teilergebnisse berechnen
Auf der Dokumentationsseite Leistungsmesswerte für Abfragen verstehen wird beschrieben, wie Sie das Explore Leistungsmesswerte für Abfragen in der Systemaktivität verwenden, um detaillierte Aufschlüsselungen einer Abfrage anzusehen. Die Phase Ergebnisse werden verarbeitet des Abfrage-Trackers umfasst die Ereignisse, die in der Phase Nach der Abfrage des Explore Leistungsmesswerte für Abfragen beschrieben werden.
Mögliche Schritte bei Leistungsproblemen in dieser Phase:
- Verwenden Sie Funktionen wie „Ergebnisse zusammenführen“, benutzerdefinierte Felder, und Tabellenkalkulationen sparsam. Diese Funktionen sind als Proof of Concept gedacht, um Ihnen bei der Entwicklung Ihres Modells zu helfen. Es empfiehlt sich, häufig verwendete Berechnungen und Funktionen in LookML fest zu codieren. Dadurch wird SQL-Code generiert, der in Ihrer Datenbank verarbeitet wird. Übermäßige Berechnungen können um Java-Arbeitsspeicher in der Looker-Instanz konkurrieren, wodurch die Looker-Instanz langsamer reagiert.
- Beschränken Sie die Anzahl der Ansichten, die Sie in ein Modell einbeziehen, wenn viele Ansichtsdateien vorhanden sind. Wenn Sie alle Ansichten in ein einziges Modell einbeziehen, kann sich die Leistung verlangsamen. Wenn in einem Projekt viele Ansichten vorhanden sind, sollten Sie in jedes Modell nur die Ansichtsdateien einbeziehen, die benötigt werden. Verwenden Sie strategische Namenskonventionen für Ansichtsdateinamen, um Gruppen von Ansichten in ein Modell einzubeziehen. Ein Beispiel finden Sie in der
includesParameterdokumentation. - Vermeiden Sie es, standardmäßig eine große Anzahl von Datenpunkten in Dashboard-Kacheln und Looks zurückzugeben. Abfragen, die Tausende von Datenpunkten zurückgeben, verbrauchen mehr Arbeitsspeicher. Beschränken Sie die Daten nach Möglichkeit, indem Sie Frontend-
Filter auf Dashboards, Looks und Explores anwenden und auf LookML-Ebene die Parameter
required filters,conditionally_filterundsql_always_whereverwenden. - Verwenden Sie die Option Alle Ergebnisse nur sparsam zum Herunterladen oder Bereitstellen von Abfragen, da einige Abfragen sehr groß sein können und den Looker-Server bei der Verarbeitung überlasten können.