Teradata - Statistiche
L'ottimizzatore di Teradata presenta una strategia di esecuzione per ogni query SQL. Questa strategia di esecuzione si basa sulle statistiche raccolte sulle tabelle utilizzate all'interno della query SQL. Le statistiche sulla tabella vengono raccolte utilizzando il comando RACCOGLI STATISTICHE. Optimizer richiede informazioni sull'ambiente e dati demografici per elaborare una strategia di esecuzione ottimale.
Informazioni sull'ambiente
- Numero di nodi, AMP e CPU
- Quantità di memoria
Dati demografici
- Numero di righe
- Dimensione riga
- Intervallo di valori nella tabella
- Numero di righe per valore
- Numero di null
Esistono tre approcci per raccogliere le statistiche sul tavolo.
- Campionamento AMP casuale
- Raccolta completa delle statistiche
- Utilizzando l'opzione SAMPLE
Raccolta di statistiche
Il comando COLLECT STATISTICS viene utilizzato per raccogliere statistiche su una tabella.
Sintassi
Di seguito è riportata la sintassi di base per raccogliere statistiche su una tabella.
COLLECT [SUMMARY] STATISTICS
INDEX (indexname) COLUMN (columnname)
ON <tablename>;
Esempio
L'esempio seguente raccoglie le statistiche sulla colonna EmployeeNo della tabella Employee.
COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;
Quando la query precedente viene eseguita, produce il seguente output.
*** Update completed. 2 rows changed.
*** Total elapsed time was 1 second.
Visualizzazione delle statistiche
È possibile visualizzare le statistiche raccolte utilizzando il comando HELP STATISTICS.
Sintassi
Di seguito è riportata la sintassi per visualizzare le statistiche raccolte.
HELP STATISTICS <tablename>;
Esempio
Di seguito è riportato un esempio per visualizzare le statistiche raccolte sulla tabella Employee.
HELP STATISTICS employee;
Quando la query precedente viene eseguita, produce il seguente risultato.
Date Time Unique Values Column Names
-------- -------- -------------------- -----------------------
16/01/01 08:07:04 5 *
16/01/01 07:24:16 3 DepartmentNo
16/01/01 08:07:04 5 EmployeeNo