ANALYZE COMPRESSION - 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à.

ANALYZE COMPRESSION

Esegue l'analisi della compressione e produce un rapporto con la codifica di compressione suggerita per le tabelle analizzate. Per ogni colonna, il rapporto include una stima della potenziale riduzione dello spazio su disco rispetto alla codifica RAW.

Sintassi

ANALYZE COMPRESSION [ [ table_name ] [ ( column_name [, ...] ) ] ] [COMPROWS numrows]

Parametri

table_name

Puoi analizzare la compressione di tabelle specifiche, incluse le tabelle temporanee. Puoi qualificare la tabella con il nome dello schema. Puoi specificare facoltativamente un table_name per analizzare una singola tabella. Se non specifichi un valore table_name, vengono analizzate tutte le tabelle nel database attualmente connesso. Non puoi specificare più di un table_name con una singola istruzione ANALYZE COMPRESSION.

column_name

Se specifichi un table_name, puoi anche specificare una o più colonne nella tabella (come un elenco separato da colonne tra parentesi).

COMPROWS

Numero di righe da utilizzare come dimensione del campione per l'analisi della compressione. L'analisi viene eseguita su righe da ciascuna sezione di dati. Ad esempio, se specifichi COMPROWS 1000000 (1.000.000) e il sistema contiene 4 sezioni totali, vengono lette e analizzate non più di 250.000 righe per sezione. Se COMPROWS non è specificato, la dimensione del campione è impostata su 100.000 per sezione. I valori di COMPROWS inferiori al valore predefinito di 100.000 righe per sezione vengono automaticamente aggiornati al valore predefinito. Tuttavia, l'analisi della compressione non produce raccomandazioni se la quantità di dati nella tabella è insufficiente per produrre un campione significativo. Se il numero COMPROWS è maggiore del numero di righe nella tabella, il comando ANALYZE COMPRESSION procede comunque ed esegue l'analisi della compressione su tutte le righe disponibili. L'utilizzo di COMPROWS genera un errore se non viene specificata una tabella.

numrows

Numero di righe da utilizzare come dimensione del campione per l'analisi della compressione. L'intervallo accettato per numrows è un numero compreso tra 1000 e 1000000000 (1.000.000.000).

Note per l'utilizzo

ANALYZE COMPRESSION acquisisce un blocco di tabella esclusivo che impedisce letture e scritture simultanee nella tabella. Esegui il comando ANALYZE COMPRESSION solo quando la tabella è inattiva.

Esegui ANALYZE COMPRESSION per ottenere consigli per schemi di codifica delle colonne, basati su un campione dei contenuti della tabella. ANALYZE COMPRESSION è uno strumento di consulenza e non modifica le codifiche delle colonne della tabella. La codifica suggerita può essere applicata ricreando la tabella o creando una nuova tabella con lo stesso schema. Ricreare una tabella non compressa con schemi di codifica appropriati può ridurre significativamente il footprint su disco. Questo approccio consente di risparmiare spazio su disco e migliora le prestazioni delle query per i carichi di lavoro associati all'I/O.

ANALYZE COMPRESSION salta la fase di analisi effettiva e restituisce direttamente il tipo di codifica originale su qualsiasi colonna designata come SORTKEY. Lo fa perché le scansioni con limiti di intervallo potrebbero funzionare male quando le colonne SORTKEY sono molto più compresse di altre colonne.

Esempi

L'esempio seguente mostra la codifica e la riduzione percentuale stimata per le colonne solo nella tabella LISTING:

analyze compression listing; Table | Column | Encoding | Est_reduction_pct ---------+----------------+----------+------------------- listing | listid | az64 | 40.96 listing | sellerid | az64 | 46.92 listing | eventid | az64 | 53.37 listing | dateid | raw | 0.00 listing | numtickets | az64 | 65.66 listing | priceperticket | az64 | 72.94 listing | totalprice | az64 | 68.05 listing | listtime | az64 | 49.74

L'esempio seguente analizza le colonne QTYSOLD, COMMISSION e SALETIME nella tabella SALES.

analyze compression sales(qtysold, commission, saletime); Table | Column | Encoding | Est_reduction_pct -------+------------+----------+------------------- sales | salesid | N/A | 0.00 sales | listid | N/A | 0.00 sales | sellerid | N/A | 0.00 sales | buyerid | N/A | 0.00 sales | eventid | N/A | 0.00 sales | dateid | N/A | 0.00 sales | qtysold | az64 | 83.06 sales | pricepaid | N/A | 0.00 sales | commission | az64 | 71.85 sales | saletime | az64 | 49.63