Revisione degli avvisi di query - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Revisione degli avvisi di query

Per utilizzare la tabella di sistema STL_ALERT_EVENT_LOG al fine di rilevare e correggere potenziali problemi relativi alle prestazioni della tua query, segui queste fasi:

  1. Esegui la seguente operazione per determinare l'ID della tua query:

    select query, elapsed, substring from svl_qlog order by query desc limit 5;

    Esamina il testo troncato della query nel campo substring per determinare quale valore query selezionare. Se hai eseguito la query più di una volta, utilizza il valore query a partire dalla riga con il valore elapsed più basso. Questa è la riga per la versione compilata. Se stai eseguendo molte query, puoi alzare il valore utilizzato dalla clausola LIMIT, che viene usata per accertarsi che la query sia inclusa.

  2. Seleziona le righe da STL_ALERT_EVENT_LOG per la tua query:

    Select * from stl_alert_event_log where query = MyQueryID;
  3. Valuta i risultati della tua query. Utilizza la seguente tabella per individuare possibili soluzioni per ogni problema che hai rilevato.

    Nota

    Non tutte le query disporranno di righe su STL_ALERT_EVENT_LOG, solo quelle per cui sono stati rilevati dei problemi.

    Problema Valore evento Valore soluzione Soluzione consigliata
    Le statistiche delle tabelle nelle query sono mancanti o scadute. Statistiche pianificatore query mancanti Esegui comando ANALYZE Per informazioni, consultare Statistiche della tabella mancanti o scadute.
    C'è una combinazione di loop nidificati (la combinazione meno ottimale) nel piano di query. Combinazione loop nidificata nel piano di query Rivedi i predicati di combinazione per evitare prodotti cartesiani Per informazioni, consultare Loop nidificato.
    La scansione ha ignorato un numero piuttosto grande di righe contrassegnate come cancellate ma non svuotate, o righe che sono state inserite ma non completate. Scansionato un grande numero di righe cancellate Esegui il comando VACUUM per recuperare lo spazio cancellato Per informazioni, consultare Righe fantasma o righe di cui non è stato eseguito il commit.
    Più di 1.000.000 di righe sono state redistribuite per un hash join o un'aggregazione. Ha distribuito un gran numero di righe sulla rete: RowCount le righe sono state distribuite per elaborare l'aggregazione Rivedi la scelta della chiave di distribuzione per posizionare la combinazione o l'aggregazione Per informazioni, consultare Distribuzione dei dati non ottimale.
    Più di 1.000.000 di righe sono state trasmesse per un hash join. Trasmesso un grande numero di righe all'interno della rete Rivedi la scelta della chiave di distribuzione per posizionare la combinazione e per considerare l'utilizzo di tabelle distribuite Per informazioni, consultare Distribuzione dei dati non ottimale.
    Uno stile di redistribuzione DS_DIST_ALL_INNER è stato indicato nel piano di query, il che forza un'esecuzione seriale perché l'intera tabella interna è stata redistribuita in un solo nodo. DS_DIST_ALL_INNER per un hash join nel piano di query Rivedi la scelta della strategia di distribuzione per distribuire la tabella interna, piuttosto che quella esterna Per informazioni, consultare Distribuzione dei dati non ottimale.