

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# ANALYSE
<a name="r_ANALYZE"></a>

Met à jour les statistiques de table pour une utilisation par le planificateur de requête. 

## Privilèges requis
<a name="r_ANALYZE-privileges"></a>

Les privilèges suivants sont requis pour ANALYZE :
+ Superuser
+ Utilisateurs disposant du privilège ANALYZE
+ Propriétaire de la relation
+ Propriétaire de la base de données avec qui la table est partagée

## Syntaxe
<a name="r_ANALYZE-synopsis"></a>

```
ANALYZE [ VERBOSE ]
[ [ table_name [ ( column_name [, ...] ) ] ]
[ PREDICATE COLUMNS | ALL  COLUMNS ]
```

## Parameters
<a name="r_ANALYZE-parameters"></a>

VERBOSE   
Clause qui renvoie des messages d’information d’avancement relatifs à l’opération ANALYZE. Cette option est utile lorsque vous ne spécifiez pas une table.

 *table\$1name*   
Vous pouvez analyser 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\$1table pour analyser une seule table. Vous ne pouvez pas spécifier plus d’un *nom\$1table* avec une seule instruction ANALYZE *nom\$1table*. Si vous ne spécifiez pas un *table\$1name*, toutes les tables de la base de données actuellement connectée sont analysées, y compris les tables persistantes du catalogue système. Amazon Redshift ignore l’analyse d’une table si le pourcentage de lignes qui ont été modifiées depuis la dernière opération ANALYZE est inférieur au seuil d’analyse. Pour plus d'informations, consultez [Seuil d’analyse](#r_ANALYZE-threshold).  
Vous n’avez pas besoin d’analyser les tables système Amazon Redshift (tables STL et STV).

 *column\$1name*   
Si vous spécifiez un *nom\$1table*, vous pouvez également spécifier une ou plusieurs colonnes de la table (au forme de liste de colonnes séparées entre parenthèses). Si une liste de colonnes est spécifiée, seules les colonnes de la liste sont analysées.

 PREDICATE COLUMNS \$1 ALL COLUMNS   
Clauses qui indiquent si ANALYZE doit inclure uniquement les colonnes de prédicat. Spécifiez PREDICATE COLUMNS pour analyser uniquement les colonnes qui ont été utilisées comme prédicats dans des requêtes précédentes ou qui sont susceptibles d’être utilisées comme prédicats. Spécifiez ALL COLUMNS pour analyser toutes les colonnes. La valeur par défaut est ALL COLUMNS.   
Une colonne est incluse dans l’ensemble de colonnes de prédicat si l’une des conditions suivantes est vraie :  
+ La colonne a été utilisée dans une requête dans le cadre d’un filtre, d’une condition de jointure ou d’une clause group by.
+ La colonne est une clé de distribution.
+ La colonne fait partie d’une clé de tri.
Si aucune colonne n’est marquée comme colonne de prédicat, par exemple, parce que la table n’a pas encore été interrogée, toutes les colonnes sont analysées même si PREDICATE COLUMNS est spécifié. Dans ce cas, Amazon Redshift peut répondre par un message tel que Aucune colonne de prédicat trouvée pour « ». *table-name* Analyse de toutes les colonnes. Pour plus d’informations sur les colonnes de prédicat, consultez [Analyse des tables](t_Analyzing_tables.md).

## Notes d’utilisation
<a name="r_ANALYZE-usage-notes"></a>

Amazon Redshift exécute automatiquement les tables que vous créez avec les commandes suivantes : 
+ CREATE TABLE AS
+ CREATE TEMP TABLE AS 
+ SELECT INTO

 Vous ne pouvez pas analyser une table externe.

Vous n’avez pas besoin d’exécuter la commande ANALYZE sur ces tables lorsqu’elles sont créées initialement. Si vous les modifiez, vous devez les analyser de la même manière que les autres tables.

### Seuil d’analyse
<a name="r_ANALYZE-threshold"></a>

Pour réduire le temps de traitement et améliorer les performances globales du système, Amazon Redshift ignore ANALYZE pour une table si le pourcentage de lignes qui ont été modifiées depuis l’exécution de la dernière opération ANALYZE est inférieur au seuil d’analyse spécifié par le paramètre [analyze\$1threshold\$1percent](r_analyze_threshold_percent.md). Par défaut, `analyze_threshold_percent` est 10. Pour modifier `analyze_threshold_percent` de la séance en cours, exécutez la commande [SET](r_SET.md). L’exemple suivant passe de `analyze_threshold_percent` à 20 %.

```
set analyze_threshold_percent to 20;
```

Pour analyser des tables lorsque seul un petit nombre de lignes a changé, définissez `analyze_threshold_percent` sur un petit nombre arbitraire. Par exemple, si vous définissez `analyze_threshold_percent` sur 0,01, une table avec 100 000 000 lignes n’est pas ignorée si au moins 10 000 lignes ont été modifiées. 

```
set analyze_threshold_percent to 0.01;
```

Si ANALYZE ignore une table, car il ne respecte pas le seuil d’analyse, Amazon Redshift renvoie le message suivant.

```
ANALYZE SKIP
```

Pour analyser toutes les tables même si aucune ligne n’a été modifiée, définissez `analyze_threshold_percent` sur 0.

Pour afficher les résultats des opérations ANALYZE, interrogez la table système [STL\$1ANALYZE](r_STL_ANALYZE.md). 

Pour plus d’informations sur l’analyse des tables, consultez [Analyse des tables](t_Analyzing_tables.md).

## Exemples
<a name="r_ANALYZE-examples"></a>

Analysez toutes les tables de la base de données TICKIT et renvoyez les informations d’avancement.

```
analyze verbose;
```

Analysez la table LISTING uniquement.

```
analyze listing;
```

Analysez les colonnes VENUEID et VENUENAME de la table VENUE. 

```
analyze venue(venueid, venuename);
```

Analysez uniquement les colonnes de prédicat de la table VENUE.

```
analyze venue predicate columns;
```