Teradata - Ottimizzazione delle prestazioni

Questo capitolo descrive la procedura di ottimizzazione delle prestazioni in Teradata.

Spiegare

Il primo passaggio nell'ottimizzazione delle prestazioni è l'utilizzo di EXPLAIN sulla query. Il piano EXPLAIN fornisce i dettagli su come l'ottimizzatore eseguirà la query. Nel piano Explain, controlla le parole chiave come livello di fiducia, strategia di join utilizzata, dimensione del file di spool, ridistribuzione, ecc.

Raccogli statistiche

Optimizer utilizza i dati demografici per elaborare una strategia di esecuzione efficace. Il comando COLLECT STATISTICS viene utilizzato per raccogliere i dati demografici della tabella. Assicurati che le statistiche raccolte sulle colonne siano aggiornate.

  • Raccogliere statistiche sulle colonne utilizzate nella clausola WHERE e sulle colonne utilizzate nella condizione di unione.

  • Raccogli statistiche sulle colonne Indice primario univoco.

  • Raccogli le statistiche sulle colonne dell'indice secondario non univoco. L'ottimizzatore deciderà se può utilizzare NUSI o Full Table Scan.

  • Raccogli le statistiche sull'indice di join anche se vengono raccolte le statistiche sulla tabella di base.

  • Raccogli le statistiche sulle colonne di partizionamento.

Tipi di dati

Assicurati che vengano utilizzati i tipi di dati corretti. Ciò eviterà l'uso di uno spazio di archiviazione eccessivo rispetto a quanto richiesto.

Conversione

Assicurati che i tipi di dati delle colonne utilizzate nella condizione di join siano compatibili per evitare conversioni di dati esplicite.

Ordinare

Rimuovere le clausole ORDER BY non necessarie se non richiesto.

Problema di spazio spool

L'errore di spazio di spooling viene generato se la query supera il limite di spazio di spool per AMP per quell'utente. Verificare il piano di spiegazione e identificare il passaggio che consuma più spazio di bobina. Queste query intermedie possono essere suddivise e inserite separatamente per creare tabelle temporanee.

Indice primario

Assicurati che l'indice primario sia definito correttamente per la tabella. La colonna dell'indice principale dovrebbe distribuire uniformemente i dati e dovrebbe essere usata frequentemente per accedere ai dati.

Tavola apparecchiata

Se si definisce una tabella SET, l'ottimizzatore controllerà se il record è duplicato per ogni record inserito. Per rimuovere la condizione di controllo duplicato, è possibile definire l'indice secondario univoco per la tabella.

AGGIORNAMENTO sul tavolo grande

L'aggiornamento della tabella grande richiederà molto tempo. Invece di aggiornare la tabella, puoi eliminare i record e inserire i record con righe modificate.

Eliminazione di tabelle temporanee

Eliminare le tabelle temporanee (tabelle di staging) e i volatili se non sono più necessari. Ciò libererà spazio permanente e spazio sulla bobina.

Tavolo MULTISET

Se si è certi che i record di input non avranno record duplicati, è possibile definire la tabella di destinazione come tabella MULTISET per evitare il controllo delle righe duplicate utilizzato dalla tabella SET.