ANALYZE COMPRESSION - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

ANALYZE COMPRESSION

Effectue l’analyse de compression et produit un rapport avec l’encodage de suppression suggéré pour les tables analysées. Pour chaque colonne, le rapport inclut une estimation de la réduction potentielle de l'espace disque par rapport au codage RAW.

Syntaxe

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

Paramètres

table_name

Vous pouvez analyser la compression pour des tables spécifiques, y compris les tables temporaires. Vous pouvez qualifier la table avec son nom de schéma. Vous pouvez le cas échéant spécifier un nom_table pour analyser une seule table. Si vous ne spécifiez pas un nom_table, toutes les tables de la base de données actuellement connectée sont analysées. Vous ne pouvez pas spécifier plus d’un nom_table avec une seule instruction ANALYZE COMPRESSION.

column_name

Si vous spécifiez un nom_table, vous pouvez également spécifier une ou plusieurs colonnes de la table (au forme de liste de colonnes séparées entre parenthèses).

COMPROWS

Nombre de lignes à utiliser comme taille de l’échantillon pour l’analyse de la compression. L’analyse est exécutée sur les lignes de chaque tranche de données. Par exemple, si vous spécifiez COMPROWS 1000000 (1 000 000) et que le système contient en tout 4 tranches, pas plus de 250 000 lignes par tranche ne sont lues et analysées. Si COMPROWS n’est pas spécifié, la taille de l’échantillon par défaut est de 100 000 par tranche. Les valeurs COMPROWS inférieures à la valeur par défaut de 100 000 lignes par tranche sont automatiquement mises à niveau avec la valeur par défaut. Cependant, l’analyse de compression ne génère pas de recommandations si la quantité de données dans la table n’est pas suffisante pour produire un échantillon significatif. Si le nombre COMPROWS est supérieur au nombre de lignes de la table, la commande ANALYZE COMPRESSION continue de se poursuivre et exécute l’analyse de la compression sur toutes les lignes disponibles.

numrows

Nombre de lignes à utiliser comme taille de l’échantillon pour l’analyse de la compression. La plage acceptée pour numrows est un nombre compris entre 1000 et 1000000000 (1 000 000 000).

Notes d’utilisation

ANALYSER COMPRESSION acquiert un verrou de table exclusif, qui empêche les lectures et les écritures simultanées sur la table. Exécutez uniquement la commande COMPRESSION lorsque la table est inactive.

Exécutez ANALYZE COMPRESSION afin d’obtenir des recommandations pour les schémas d’encodage de colonne, en fonction d’un échantillon du contenu de la table. ANALYZE COMPRESSION est un outil consultatif et ne modifie pas les encodages de colonne de la table. Vous pouvez appliquer l’encodage suggéré en recréant la table ou en créant une nouvelle table avec le même schéma. La recréation d’une table non compressée à l’aide de schémas de codage appropriés peut réduire considérablement son encombrement sur le disque. Cette approche permet d’économiser de l’espace disque et d’améliorer les performances des requêtes pour les charges de travail liées aux I/O.

ANALYZE COMPRESSION ignore la phase d’analyse réelle et renvoie directement le type d’encodage d’origine sur n’importe quelle colonne désignée comme SORTKEY. En effet, les analyses limitées à la plage peuvent fonctionner de façon médiocre lorsque les colonnes SORTKEY sont compressées beaucoup plus fortement que les autres colonnes.

Exemples

L’exemple suivant affiche l’encodage et le pourcentage estimé de réduction pour les colonnes de la table LISTING uniquement :

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’exemple suivant analyse les colonnes QTYSOLD, COMMISSION et SALETIME de la table 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