Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Perché una tabella in Amazon Redshift mostra una percentuale di non ordinamento elevata se ha un valore vacuum sort benefit pari a 0?
Una tabella in Amazon Redshift mostra una percentuale di non ordinamento elevata benché abbia un valore vacuum_sort_benefit pari a 0.
Breve descrizione
Amazon Redshift calcola la colonna non ordinata in SVV_TABLE_INFO per mostrare la percentuale di dati della tabella non corrispondente all'ordine della chiave di ordinamento. Se la percentuale di non ordinamento è elevata, un'operazione di ordinamento VACUUM potrebbe migliorare le prestazioni delle query.
Il valore vacuum_sort_benefit determina se un'operazione di ordinamento può migliorare le prestazioni. Quando il valore è 0, Amazon Redshift non può trarre vantaggio da un'operazione VACUUM perché l'ordinamento non ottimizza le query.
Una percentuale di non ordinamento elevata con un valore vacuum_sort_benefit pari a 0 può verificarsi per i seguenti motivi:
- Amazon Redshift stabilisce che l'ordinamento offre vantaggi minimi in base ai piani di query recenti. Le query accedono solo a una piccola parte della tabella oppure poche query accedono alla tabella.
- Le query non vengono filtrate o ordinate in base alle colonne con chiave di ordinamento. L'ordinamento offre vantaggi minimi, anche se la tabella appare non ordinata.
- Non vengono eseguite query sulla tabella, per cui Amazon Redshift non ha necessità di ottimizzare l'ordinamento.
Per ulteriori informazioni, consulta Vacuum delle tabelle.
Risoluzione
Per determinare se l'ordinamento migliora le prestazioni, esamina sia il valore vacuum_sort_benefit che il valore non ordinato.
Se il valore vacuum_sort_benefit è uguale a 0 e il valore non ordinato è elevato, i modelli di query non traggono vantaggio dall'ordinamento dei dati. La metrica vacuum_sort_benefit calcola il potenziale miglioramento delle prestazioni delle query dall'ordinamento in base ai modelli di carico di lavoro.
Esegui questa query per ottenere i valori:
SELECT "schema", "table", sortkey1, sortkey_num, unsorted, vacuum_sort_benefit FROM SVV_TABLE_INFO WHERE "table" = 'table_name';
Nota: sostituisci table_name con il nome della tabella.
Assicurati che la chiave di ordinamento sia allineata con le colonne di filtro su cui vengono eseguite query frequenti. Se la chiave di ordinamento non è pertinente ai modelli di query, una percentuale elevata di non ordinamento non influisce in modo significativo sulle prestazioni.
Se stabilisci che l'ordinamento migliora le prestazioni, esegui manualmente il vacuum della tabella con questo comando di ordinamento VACUUM:
VACUUM SORT ONLY table_name;
Nota: sostituisci table_name con il nome della tabella.
Informazioni correlate
- Argomenti
- Analytics
- Lingua
- Italiano
