Lo strumento di monitoraggio delle query di esplorazione e il riquadro Rendimento dell'esplorazione forniscono dati sul rendimento passo passo per una query di esplorazione. Questi dati possono aiutarti a identificare i punti di ingresso chiave per la risoluzione dei problemi e la risoluzione dei problemi di rendimento con le query e fornire suggerimenti per i miglioramenti.
Strumento di monitoraggio delle query di esplorazione
Lo strumento di monitoraggio delle query di esplorazione mostra l'avanzamento di una query di esplorazione nelle tre fasi della query durante l'esecuzione.
![]()
Se l'esecuzione di una query richiede molto tempo, lo strumento di monitoraggio delle query può indicare la fase della query che causa il problema di prestazioni. Questo è utile per identificare dove potrebbero verificarsi problemi di rendimento e dove gli sforzi di ottimizzazione possono essere più efficaci.
Lo strumento di monitoraggio delle query viene visualizzato quando è in esecuzione un'esplorazione, a condizione che sia aperto il riquadro Visualizzazione dell'esplorazione o il riquadro Dati dell'esplorazione.
Riquadro Rendimento dell'esplorazione
Per visualizzare il riquadro Rendimento dell'esplorazione, fai clic sul link Visualizza dettagli sul rendimento, disponibile per qualsiasi query di esplorazione eseguita.

Il riquadro Rendimento mostra il tempo trascorso dalla query in ciascuna delle tre fasi della query e include link alla documentazione sul rendimento e alla dashboard Attività di sistema Cronologia query, che mostra i dati sul rendimento attuali e storici per la query e l'esplorazione utilizzata per creare la query.

Fasi della query
Quando un'esplorazione di Looker Explore esegue una query di database, la query viene eseguita in tre fasi, come segue:
- La fase di inizializzazione della query
- La fase di esecuzione della query
- La fase di elaborazione dei risultati
Fase di inizializzazione della query
Durante la fase di inizializzazione della query, Looker esegue tutte le attività necessarie prima che la query venga inviata al tuo database. La fase di inizializzazione della query include le seguenti attività:
- Compilazione del modello LookML
- Verifica se è necessario creare tabelle derivate permanenti (PDT)
- Generazione della query SQL
- Acquisizione della connessione al database
La pagina della documentazione Comprendere le metriche sul rendimento delle query descrive come utilizzare l'esplorazione Metriche sul rendimento delle query in Attività di sistema per visualizzare le suddivisioni dettagliate di una query. La fase di inizializzazione della query dello strumento di monitoraggio delle query include gli eventi descritti nelle fasi Fase di worker asincrono, Fase di inizializzazione e Fase di gestione delle connessioni dell'esplorazione Metriche sul rendimento delle query.
Fase di esecuzione della query
Nella fase di esecuzione della query , Looker contatta il tuo database, esegue la query e ne restituisce i risultati. I problemi di rendimento durante questa fase potrebbero indicare un problema con il database esterno, ad esempio PDT che richiedono molto tempo per la ricostruzione e potrebbero dover essere ottimizzate o tabelle di database esterni che potrebbero richiedere l'ottimizzazione. La fase di esecuzione della query include le seguenti attività:
- Creazione di eventuali PDT nel database necessarie per la query di esplorazione
- Esecuzione della query richiesta sul database
La pagina della documentazione Comprendere le metriche sul rendimento delle query descrive come utilizzare l'esplorazione Metriche sul rendimento delle query in Attività di sistema per visualizzare le suddivisioni dettagliate di una query. La fase di esecuzione della query dello strumento di monitoraggio delle query include gli eventi descritti nella fase delle query principali dell'esplorazione Metriche sul rendimento delle query.
Ecco alcuni passaggi da eseguire se riscontri problemi di rendimento durante questa fase:
- Crea esplorazioni utilizzando
many_to_onejoin quando possibile. In genere, l'unione di visualizzazioni dal livello più granulare al livello di dettaglio più elevato (many_to_one) offre il miglior rendimento delle query. - Ottimizza la memorizzazione nella cache per la sincronizzazione con i criteri ETL, ove possibile, per ridurre il traffico delle query di database. Per impostazione predefinita, Looker memorizza nella cache le query per un'ora. Puoi controllare il criterio di memorizzazione nella cache e sincronizzare gli aggiornamenti dei dati di Looker con il processo ETL applicando i gruppi di dati
all'interno delle esplorazioni utilizzando il parametro
persist_with. L'ottimizzazione della memorizzazione nella cache consente a Looker di integrarsi più strettamente con la pipeline di dati di backend, in modo che l'utilizzo della cache possa essere massimizzato senza il rischio di analizzare dati obsoleti. I criteri di memorizzazione nella cache denominati possono essere applicati a un intero modello o a singole esplorazioni e tabelle derivate permanenti (PDT). - Utilizza la funzionalità di riconoscimento degli aggregati di Looker per creare tabelle di rollup o di riepilogo che Looker può utilizzare per le query, ove possibile, in particolare per le query comuni di database di grandi dimensioni. Puoi anche utilizzare il riconoscimento degli aggregati per migliorare drasticamente il rendimento delle dashboard complete. Per ulteriori informazioni, consulta il tutorial sul riconoscimento degli aggregati.
- Utilizza le PDT per query più veloci. Converti le esplorazioni con molti join complessi o non performanti o dimensioni con sottoquery o sotto-selezioni in PDT in modo che le visualizzazioni siano pre-unite e pronte prima del tempo di esecuzione.
- Se il dialetto del database supporta le PDT incrementali, configura le PDT incrementali per ridurre il tempo impiegato da Looker per ricostruire le tabelle PDT.
- Evita di unire le visualizzazioni nelle esplorazioni su chiavi primarie concatenate definite in Looker. Unisci invece i campi di base che compongono la chiave primaria concatenata dalla visualizzazione. In alternativa, ricrea la visualizzazione come PDT con la chiave primaria concatenata predefinita nella definizione SQL della tabella, anziché in LookML di una visualizzazione.
- Utilizza lo strumento Explain in SQL Runner per il benchmarking.
EXPLAINproduce una panoramica del piano di esecuzione delle query del database per una determinata query SQL, consentendoti di rilevare i componenti della query che possono essere ottimizzati. Scopri di più nel post per la community Come ottimizzare SQL conEXPLAIN. - Dichiara gli indici. Puoi esaminare gli indici di ogni tabella direttamente in Looker da SQL Runner facendo clic sull'icona a forma di ingranaggio in una tabella e selezionando Mostra indici.
Le colonne più comuni che possono trarre vantaggio dagli indici sono le date importanti e le chiavi esterne. L'aggiunta di indici a queste colonne aumenterà il rendimento per quasi tutte le query. Lo stesso vale anche per le PDT. I parametri LookML, come
indexes,sort keysedistribution, possono essere applicati in modo appropriato.
Fase di elaborazione dei risultati
Durante la fase di elaborazione dei risultati, Looker elabora i risultati della query e ne esegue il rendering. La fase di elaborazione dei risultati include le seguenti attività:
- Streaming dei risultati delle query nella cache
- Risoluzione dei calcoli tabulari
- Formattazione dei risultati del linguaggio di templating Liquid
- Unione delle query
- Calcolo di totali e subtotali
La pagina della documentazione Comprendere le metriche sul rendimento delle query descrive come utilizzare l'esplorazione Metriche sul rendimento delle query in Attività di sistema per visualizzare le suddivisioni dettagliate di una query. La fase di elaborazione dei risultati dello strumento di monitoraggio delle query include gli eventi descritti nella fase post-query dell'esplorazione Metriche sul rendimento delle query.
Ecco alcuni passaggi da eseguire se riscontri problemi di rendimento durante questa fase:
- Utilizza con parsimonia funzionalità come unione dei risultati, campi personalizzati, e calcoli tabulari. Queste funzionalità sono pensate per essere utilizzate come prove di concetto per aiutarti a progettare il modello. La best practice consiste nell'incorporare nel codice LookML tutti i calcoli e le funzioni utilizzati di frequente, che genereranno SQL da elaborare nel database. Un numero eccessivo di calcoli può competere per la memoria Java nell'istanza di Looker, causando una risposta più lenta dell'istanza di Looker.
- Limita il numero di visualizzazioni incluse in un modello quando è presente un numero elevato di file di visualizzazione. L'inclusione di tutte le visualizzazioni in un singolo modello può rallentare il rendimento. Quando in un progetto è presente un numero elevato di visualizzazioni, valuta la possibilità di includere solo i file di visualizzazione necessari in ogni modello. Valuta la possibilità di utilizzare convenzioni di denominazione strategiche per i nomi dei file di vista per consentire l'inclusione di gruppi di viste in un modello. Un esempio è descritto nella
includesdocumentazione del parametro. - Evita di restituire un numero elevato di punti dati per impostazione predefinita all'interno dei riquadri della dashboard e delle esplorazioni. Le query che restituiscono migliaia di punti dati consumano più memoria. Assicurati che i dati siano limitati, ove possibile, applicando filtri frontend
a dashboard, esplorazioni e Look e a livello LookML con i parametri
required filters,conditionally_filteresql_always_where. - Scarica o distribuisci le query utilizzando con parsimonia l'opzione Tutti i risultati, poiché alcune query possono essere molto grandi e sovraccaricare il server Looker durante l'elaborazione.