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.