

 Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement 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.

# SYS\_QUERY\_DETAIL
<a name="SYS_QUERY_DETAIL"></a>

Utilisez SYS\_QUERY\_DETAIL pour afficher les détails des requêtes à différents niveaux de mesure, chaque ligne représentant les détails d’une requête WLM particulière à un niveau de métrique donné. Cette vue contient de nombreux types de requêtes, comme les commandes DDL, DML et utilitaire (par exemple, copier et décharger). Certaines colonnes peuvent ne pas être pertinentes en fonction du type de requête. Par exemple, external\_scanned\_bytes n’est pas pertinent pour les tables internes.

SYS\_QUERY\_DETAIL est visible par tous les utilisateurs. Les super-utilisateurs peuvent voir toutes les lignes, tandis que les utilisateurs standard peuvent voir uniquement leurs propres données. Pour plus d’informations, consultez [Visibilité des données dans les tables et vues système](cm_chap_system-tables.md#c_visibility-of-data).

**Note**  
Pour vérifier si une transaction contenant la requête exécutée a été validée avec succès, vous devez effectuer une opération de jointure entre les tables système et la table `sys_transaction_history`. Par exemple :  

```
SELECT 
    th.transaction_id,
    qd.query_id,
    th.status AS transaction_status
FROM 
    sys_query_detail qd
LEFT JOIN sys_query_history qh ON qd.query_id = qh.query_id
LEFT JOIN sys_transaction_history th on qh.transaction_id = th.transaction_id;
```

## Colonnes de la table
<a name="SYS_QUERY_DETAIL-table-columns"></a>


| Nom de la colonne  | Type de données  | Description  | 
| --- | --- | --- | 
| user\_id | entier | Identificateur de l’utilisateur qui a envoyé la requête. | 
| query\_id | bigint | Identificateur de requête. | 
| child\_query\_séquence | entier | La séquence de la requête utilisateur réécrite, en commençant par 1. | 
| stream\_id | entier | Identificateur de flux du flux d’exécution de la requête. | 
| segment\_id | entier | Identificateur du segment d’exécution de la requête. | 
| step\_id | entier | Identificateur d’étape dans un segment. | 
| step\_name | text | Nom de l’étape dans un segment. Les valeurs possibles sont aggregate, broadcast, delete, distribute, hash, hashjoin, insert, limit, merge, nestloop, parse, return, save, scan, sort, sortlimit, unique et window. | 
| table\_id | entier | Identificateur de table pour les analyses permanentes de table. | 
| table\_name | character(136) | Nom de la table de l’étape en cours d’opération. | 
| is\_rrscan | character | Valeur qui indique si une étape est une étape d’analyse. La valeur true (t), indique qu’une analyse à plage restreinte a été utilisée. | 
| start\_time | timestamp | Heure à laquelle l’étape de requête a commencé. Ce champ est enregistré au niveau du segment, quelle que soit la valeur de la colonne metrics\_level. | 
| end\_time | timestamp | Heure à laquelle l’étape de requête s’est terminée. Ce champ est enregistré au niveau du segment, quelle que soit la valeur de la colonne metrics\_level. | 
| duration | bigint | Temps (microsecondes) passé sur l’étape. Ce champ est enregistré au niveau du segment, quelle que soit la valeur de la colonne metrics\_level. | 
| alerte | text | Description de l’événement d’alerte. | 
| input\_bytes | bigint | Octets en entrée de l’étape en cours. | 
| input\_rows | bigint | Lignes d’entrée de l’étape en cours. | 
| output\_bytes | bigint | Octets de sortie de l’étape en cours. | 
| output\_rows | bigint | Lignes de sortie de l’étape en cours. | 
| blocks\_read | bigint | Le nombre de blocs lus par l’étape. | 
| blocks\_write | bigint | Le nombre de blocs écrits par l’étape. | 
| local\_read\_IO | bigint | Nombre de blocs lus depuis le cache du disque local. | 
| remote\_read\_IO | bigint | Nombre de blocs lus à distance. | 
| source | text | Type d’objet de base de données qui a été scanné. Cette colonne n’a de valeur que lorsque la valeur step\_name de la ligne est scan. | 
| data\_skewness | entier | Asymétrie de la répartition des lignes de sortie entre toutes les étapes. Il s’agit d’un nombre compris entre 0 et 100 %. Plus le nombre est élevé, plus la répartition est déséquilibrée. | 
| time\_skewness | entier | Asymétrie de la répartition du temps d’exécution entre toutes les étapes. Il s’agit d’un nombre compris entre 0 et 100 %. Plus le nombre est élevé, plus la répartition est déséquilibrée. | 
| is\_active | character | État de la requête au niveau de l’étape. Les valeurs possibles sont « t » (étape en cours d’exécution) ou « f » (étape en fin d’exécution). | 
| spilled\_block\_local\_disk | bigint | Nombre de blocs déversés sur le disque local. | 
| spilled\_block\_remote\_disk | bigint | Nombre de blocs déversés vers Amazon Simple Storage Service. | 
| step\_attribute | character(64) | Contient des informations concernant l’étape associée. Valeurs possibles pour les étapes d’analyse : multi-dimensional. | 
| metrics\_level | character(64) | Le niveau métrique de la requête. Les valeurs possibles sont les suivantes :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/redshift/latest/dg/SYS_QUERY_DETAIL.html) | 
| plan\_parent\_id | entier | Identifiant du nœud parent du nœud du plan. Un nœud parent peut avoir plusieurs nœuds enfants. Par exemple, une jointure de fusion est le nœud parent des analyses des tables jointes.  | 
| plan\_node\_id | entier | L’identifiant de nœud de plan qui correspond à une ou plusieurs étapes de la requête. | 

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

SYS\_QUERY\_DETAIL peut contenir des métriques au niveau de l’étape, du flux, du segment et de la requête enfant. En plus de référencer la colonne metrics\_level, vous pouvez voir le niveau de métrique affiché par une ligne donnée en référençant les champs step\_id, segment\_id et stream\_id conformément au tableau suivant.


| Niveau de métrique | valeur stream\_id | valeur segment\_id | valeur step\_id | 
| --- | --- | --- | --- | 
| requête enfant | -1 | -1 | -1 | 
| stream | Une valeur d’étape valide | -1 | -1 | 
| segment | Une valeur d’étape valide | Une valeur d’étape valide | -1 | 
| step | Une valeur d’étape valide | Une valeur d’étape valide | Une valeur d’étape valide | 

## Exemples de requêtes
<a name="SYS_QUERY_DETAIL-sample-queries"></a>

L’exemple suivant renvoie la sortie de SYS\_QUERY\_DETAIL.

La requête suivante montre le détail des métadonnées de la requête au niveau de l’étape, y compris le nom de l’étape, input\_bytes, output\_bytes, input\_rows, output\_rows.

```
SELECT query_id,
       child_query_sequence,
       stream_id,
       segment_id,
       step_id,
       trim(step_name) AS step_name,
       duration,
       input_bytes,
       output_bytes,
       input_rows,
       output_rows
FROM sys_query_detail
WHERE query_id IN (193929)
ORDER BY query_id,
         stream_id,
         segment_id,
         step_id DESC;
```

Exemple de sortie.

```
 query_id | child_query_sequence | stream_id | segment_id | step_id | step_name  |    duration     | input_bytes | output_bytes | input_rows | output_rows
----------+----------------------+-----------+------------+---------+------------+-----------------+-------------+--------------+------------+-------------
   193929 |                    2 |         0 |          0 |       3 | hash       |           37144 |           0 |      9350272 |          0 |      292196
   193929 |                    5 |         0 |          0 |       3 | hash       |            9492 |           0 |        23360 |          0 |        1460
   193929 |                    1 |         0 |          0 |       3 | hash       |           46809 |           0 |      9350272 |          0 |      292196
   193929 |                    4 |         0 |          0 |       2 | return     |            7685 |           0 |          896 |          0 |         112
   193929 |                    1 |         0 |          0 |       2 | project    |           46809 |           0 |            0 |          0 |      292196
   193929 |                    2 |         0 |          0 |       2 | project    |           37144 |           0 |            0 |          0 |      292196
   193929 |                    5 |         0 |          0 |       2 | project    |            9492 |           0 |            0 |          0 |        1460
   193929 |                    3 |         0 |          0 |       2 | return     |           11033 |           0 |        14336 |          0 |         112
   193929 |                    2 |         0 |          0 |       1 | project    |           37144 |           0 |            0 |          0 |      292196
   193929 |                    1 |         0 |          0 |       1 | project    |           46809 |           0 |            0 |          0 |      292196
   193929 |                    5 |         0 |          0 |       1 | project    |            9492 |           0 |            0 |          0 |        1460
   193929 |                    3 |         0 |          0 |       1 | aggregate  |           11033 |           0 |       201488 |          0 |          14
   193929 |                    4 |         0 |          0 |       1 | aggregate  |            7685 |           0 |        28784 |          0 |          14
   193929 |                    5 |         0 |          0 |       0 | scan       |            9492 |           0 |        23360 |     292196 |        1460
   193929 |                    4 |         0 |          0 |       0 | scan       |            7685 |           0 |         1344 |        112 |         112
   193929 |                    2 |         0 |          0 |       0 | scan       |           37144 |           0 |      7304900 |     292196 |      292196
   193929 |                    3 |         0 |          0 |       0 | scan       |           11033 |           0 |        13440 |        112 |         112
   193929 |                    1 |         0 |          0 |       0 | scan       |           46809 |           0 |      7304900 |     292196 |      292196
   193929 |                    5 |         0 |          0 |      -1 |            |            9492 |       12288 |            0 |          0 |           0
   193929 |                    1 |         0 |          0 |      -1 |            |           46809 |       16384 |            0 |          0 |           0
   193929 |                    2 |         0 |          0 |      -1 |            |           37144 |       16384 |            0 |          0 |           0
   193929 |                    4 |         0 |          0 |      -1 |            |            7685 |       28672 |            0 |          0 |           0
   193929 |                    3 |         0 |          0 |      -1 |            |           11033 |      114688 |            0 |          0 |           0
```

Pour afficher les tables de votre base de données dans l’ordre, de la plus utilisée à la moins utilisée, utilisez l’exemple suivant. {{sample\_data\_dev}}Remplacez-le par votre propre base de données. Notez que cette requête compte les requêtes à partir de la création de votre cluster, mais que les données de votre vue système ne sont pas enregistrées lorsque votre entrepôt des données manque d’espace.

```
SELECT table_name, COUNT (DISTINCT query_id) 
FROM SYS_QUERY_DETAIL 
WHERE table_name LIKE 'sample_data_dev%'
GROUP BY table_name
ORDER BY COUNT(*) DESC;

+---------------------------------+-------+
|           table_name            | count |
+---------------------------------+-------+
| sample_data_dev.tickit.venue    |     4 |
| sample_data_dev.myunload1.venue |     3 |
| sample_data_dev.tickit.listing  |     1 |
| sample_data_dev.tickit.category |     1 |
| sample_data_dev.tickit.users    |     1 |
| sample_data_dev.tickit.date     |     1 |
| sample_data_dev.tickit.sales    |     1 |
| sample_data_dev.tickit.event    |     1 |
+---------------------------------+-------+
```

 L’exemple suivant montre les différents niveaux de mesure pour une seule requête WLM. 

```
SELECT query_id, child_query_sequence, stream_id, segment_id, step_id, step_name, start_time, end_time, metrics_level 
FROM sys_query_detail 
WHERE query_id = 1553 AND step_id = -1 
ORDER BY stream_id, segment_id, step_id;

 query_id | child_query_sequence | stream_id | segment_id | step_id | step_name |         start_time         |          end_time          | metrics_level 
----------+----------------------+-----------+------------+---------+-----------+----------------------------+----------------------------+---------------
     1553 |                    1 |        -1 |         -1 |      -1 |           | 2024-10-17 02:28:49.814721 | 2024-10-17 02:28:49.847838 | child query
     1553 |                    1 |         0 |         -1 |      -1 |           | 2024-10-17 02:28:49.814721 | 2024-10-17 02:28:49.835609 | stream
     1553 |                    1 |         0 |          0 |      -1 |           | 2024-10-17 02:28:49.824677 | 2024-10-17 02:28:49.830372 | segment
     1553 |                    1 |         1 |         -1 |      -1 |           | 2024-10-17 02:28:49.835624 | 2024-10-17 02:28:49.845773 | stream
     1553 |                    1 |         1 |          1 |      -1 |           | 2024-10-17 02:28:49.84088  | 2024-10-17 02:28:49.842388 | segment
     1553 |                    1 |         1 |          2 |      -1 |           | 2024-10-17 02:28:49.835926 | 2024-10-17 02:28:49.844396 | segment
     1553 |                    1 |         2 |         -1 |      -1 |           | 2024-10-17 02:28:49.846949 | 2024-10-17 02:28:49.847838 | stream
     1553 |                    1 |         2 |          3 |      -1 |           | 2024-10-17 02:28:49.847013 | 2024-10-17 02:28:49.847485 | segment
(8 rows)
```