Condividi tramite


Profilo di query

È possibile usare un profilo di query per visualizzare i dettagli di un'esecuzione di query. Il profilo di query consente di risolvere i colli di bottiglia delle prestazioni durante l'esecuzione della query. Ad esempio:

  • È possibile visualizzare ogni operatore di query e le metriche correlate, ad esempio il tempo impiegato, il numero di righe elaborate, le righe elaborate e il consumo di memoria.
  • È possibile identificare la parte più lenta di un'esecuzione di query a colpo d'occhio e valutare l'impatto delle modifiche apportate alla query.
  • È possibile individuare e correggere errori comuni nelle istruzioni SQL, come i join esplosivi o le scansioni complete table.

Requisiti

Per visualizzare un profilo di query, è necessario essere il proprietario della query oppure disporre almeno dell'autorizzazione CAN MONITOR per sql warehouse che ha eseguito la query.

Visualizzare un profilo di query

È possibile visualizzare il profilo di query dalla cronologia delle query seguendo questa procedura:

  1. Visualizzare la cronologia delle query.

  2. Fare clic sul nome di una query. Viene visualizzato un pannello dei dettagli della query sul lato destro della schermata.

    Visualizzazione semplice riepilogo esecuzione query

  3. Fare clic su Vedere profilo delle query.

    Nota

    Se il profilo di query non è disponibile , non è disponibile alcun profilo per questa query. Un profilo di query non è disponibile per le query eseguite dalla cache delle query. Per aggirare la cache delle query, apportare una modifica semplice alla query, ad esempio modificando o rimuovendo .LIMIT

  4. Per visualizzare il profilo di query nella visualizzazione grafico (impostazione predefinita), fare clic su Visualizzazione grafico. Per visualizzare il profilo di query come albero, fare clic su Visualizzazione albero.

    • La visualizzazione grafico è ottimizzata per la visualizzazione del flusso dei dati da un nodo a un altro.
    • La visualizzazione albero è ottimizzata per individuare rapidamente i problemi relativi alle prestazioni della query, ad esempio l'identificazione dell'operatore con esecuzione più lunga.
  5. Nella visualizzazione grafico o nella visualizzazione albero è possibile fare clic su una delle schede nella parte superiore della pagina per visualizzare i dettagli su ognuno degli operatori della query.

    • Tempo impiegato: tempo aggregato impiegato per ogni operazione. Viene fornito anche il tempo totale dell'attività.
    • Righe: numero e dimensioni delle righe interessate da ognuno degli operatori della query.
    • Memoria di picco: memoria massima usata da ognuno degli operatori della query.

    Nota

    Alcune operazioni non photon vengono eseguite come gruppo e condividono metriche comuni. In questo caso, tutte le operazioni hanno lo stesso valore dell'operatore padre per una determinata metrica.

  6. Nella visualizzazione grafico è possibile fare clic su un operatore per visualizzare metriche dettagliate. Nella visualizzazione albero è possibile fare clic sul nome dell'operatore per visualizzare i dettagli correlati.

  7. Ogni nodo viene etichettato con la relativa operazione. Per impostazione predefinita, le metriche per alcune operazioni sono nascoste. È improbabile che queste operazioni siano la causa di colli di bottiglia delle prestazioni. Per visualizzare informazioni per tutte le operazioni e per visualizzare metriche aggiuntive, fare clic nella parte superiore della pagina, quindi fare clic Menu kebab su Abilita modalità dettagliata. Le operazioni più comuni sono:

    • Analisi: i dati sono stati letti da un'origine dati e un output come righe.
    • Join: Le righe di più relazioni sono state combinate e intercalate in un'unica set di righe.
    • Union: le righe di più relazioni che usano lo stesso schema sono state concatenate in una singola set di righe.
    • Shuffle: i dati sono stati ridistributi o ripartizionati. Le operazioni casuali sono costose per quanto riguarda le risorse perché spostano i dati tra executor nel cluster.
    • Hash/Ordinamento: le righe sono state raggruppate in base a una chiave e valutate usando una funzione di aggregazione, SUMad esempio , COUNTo MAX all'interno di ogni gruppo.
    • Filtro: l'input viene filtrato in base a un criterio, ad esempio in base a una WHERE clausola e viene restituito un subset di righe.
    • (Riutilizzato) Exchange: uno scambio casuale o broadcast viene usato per ridistribuire i dati tra i nodi del cluster in base al partizionamento desiderato.
    • Collect Limit: il numero di righe restituite è stato troncato usando un'istruzione LIMIT.
    • Take Ordered And Project (Take Ordered And Project): vengono restituite le prime N righe del risultato della query.
  8. (Facoltativo) Per le query SQL di Databricks, è anche possibile visualizzare il profilo di query nell'interfaccia utente di Apache Spark. Fare clic sul Menu kebab menu kebab nella parte superiore della pagina, quindi fare clic su Apri nell'interfaccia utente di Spark.

  9. Per chiudere il profilo di query, fare clic su Nascondi profilo di query nella parte inferiore del pannello.

È anche possibile accedere al profilo di query nelle parti seguenti dell'interfaccia utente:

  • Dall'editor SQL: al termine della query, un collegamento nella parte inferiore della pagina mostra il tempo trascorso e il numero di righe restituite. Fare clic sul collegamento per aprire il pannello dei dettagli della query. Fare clic su Vedere profilo delle query.

    Aprire la cronologia delle query dall'output dell'editor

    Nota

    Se il nuovo editor SQL è abilitato (anteprima pubblica), il collegamento viene visualizzato come in un notebook.

  • Da un notebook: se il notebook è collegato a un'istanza di SQL Warehouse o a un ambiente di calcolo serverless, è possibile accedere al profilo di query usando il collegamento nella cella che contiene la query. Fare clic su Visualizza prestazioni per aprire la cronologia di esecuzione. Fare clic su un'istruzione per aprire il pannello dei dettagli della query.

    Aprire l'output del notebook della cronologia query

  • Dall'interfaccia utente della pipeline Delta Live Tables: è possibile accedere alla cronologia delle query e al profilo dalla scheda Cronologia Query nell'Interfaccia Utente della Pipeline. Vedere cronologia delle query di Access per le pipeline di Tables Delta Live

  • Dall'interfaccia utente dei processi: si applica solo ai processi serverless. Vedere Eseguire il processo di Azure Databricks con il calcolo serverless per i flussi di lavoro per informazioni su come aprire il profilo di query dall'interfaccia utente dei processi.

Visualizzare i dettagli sul profilo di query

Il profilo di query elenca gli operatori di primo livello della query in ordine inverso, con l'ultimo operatore elencato per primo. Usare la procedura seguente per acquisire familiarità con le diverse parti del profilo di query.

  1. Usare i pulsanti Tempo impiegato, Righe e Memoria picco nella parte superiore della visualizzazione del profilo di query per visualizzare le metriche di primo livello in ogni categoria.
  2. Fare clic su un operatore per visualizzare i dettagli sull'operazione, ad esempio la descrizione e le metriche relative alla durata, alla memoria utilizzata, al numero e alle dimensioni delle righe restituite e a qualsiasi espressione di raggruppamento e aggregazione o attributi di output usati.
  3. Per chiudere i dettagli dell'operatore, fare clic su Torna a Dettagli query.
  4. Per chiudere il profilo di query, fare clic su Nascondi profilo di query nella parte inferiore del pannello a destra.

Condividere un profilo di query

Per condividere un profilo di query con un altro utente:

  1. Visualizzare la cronologia delle query.
  2. Fare clic sul nome della query.
  3. Per condividere la query, sono disponibili due opzioni:
    • Se l'altro utente dispone dell'autorizzazione CAN MANAGE per la query, è possibile condividere l'URL per il profilo di query con loro. Fare clic su Condividi. L'URL viene copiato negli Appunti.
    • In caso contrario, se l'altro utente non dispone dell'autorizzazione CAN MANAGE o non è membro dell'area di lavoro, è possibile scaricare il profilo di query come oggetto JSON. Scaricare Il file JSON viene scaricato nel sistema locale.

Importare un profilo di query

Per importare il codice JSON per un profilo di query:

  1. Visualizzare la cronologia delle query.

  2. Fare clic sul menu kebab Menu Kebab in alto a destra e selectImporta profilo di query (JSON).

  3. Nel browser dei file select il file JSON condiviso con te e fare clic su Apri. Il file JSON viene caricato e viene visualizzato il profilo di query.

    Quando si importa un profilo di query, viene caricato dinamicamente nella sessione del browser e non viene mantenuto nell'area di lavoro. È necessario riimportarlo ogni volta che si vuole visualizzarlo.

  4. Per chiudere il profilo di query importato, fare clic su X nella parte superiore della pagina.

Passaggi successivi

  • Informazioni sull'accesso alle metriche di query tramite l'API della cronologia delle query
  • Altre informazioni sulla cronologia delle query