

 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.

# STL\$1QUERY
<a name="r_STL_QUERY"></a>

renvoie les informations d’exécution d’une requête de base de données.

**Note**  
Les vues STL\$1QUERY et STL\$1QUERYTEXT contiennent uniquement des informations sur les requêtes, pas sur d’autres utilitaires ou commandes DDL. Pour obtenir la liste et les informations de toutes les instructions exécutées par Amazon Redshift, vous pouvez également interroger les vues STL\$1DDLTEXT et STL\$1UTILITYTEXT. Pour obtenir la liste complète de toutes les instructions exécutées par Amazon Redshift vous pouvez interroger la vue SVL\$1STATEMENTTEXT.

STL\$1QUERY 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).

Tout ou partie des données de cette table sont également disponibles dans la vue de surveillance SYS [SYS\$1QUERY\$1HISTORY](SYS_QUERY_HISTORY.md). Les données de la vue de surveillance SYS sont formatées pour être plus faciles à utiliser et à comprendre. Nous vous recommandons d’utiliser la vue de surveillance SYS pour vos requêtes.

Notez que lorsque la longueur du texte de votre requête est supérieure à 4 000 caractères, STL\$1QUERY affiche uniquement les données tronquées. Pour obtenir le texte complet de la requête, vous pouvez utiliser UNION sur le texte de la requête sur les lignes. 

**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 
    stlq.xid AS transaction_id,
    stlq.query AS query_id,
    TRIM(stlq.querytxt) AS query_text,
    th.status AS transaction_status
FROM 
    stl_query stlq
LEFT JOIN 
    sys_transaction_history th ON stlq.xid = th.transaction_id;
```

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/dg/r_STL_QUERY.html)

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

La requête suivante répertorie les cinq requêtes les plus récentes.

```
select query, trim(querytxt) as sqlquery
from stl_query
order by query desc limit 5;

query |                                   sqlquery
------+--------------------------------------------------
129 | select query, trim(querytxt) from stl_query order by query;
128 | select node from stv_disk_read_speeds;
127 | select system_status from stv_gui_status
126 | select * from systable_topology order by slice
125 | load global dict registry
(5 rows)
```

La requête suivante renvoie la durée écoulée, par ordre décroissant, des requêtes exécutées le 15 février 2013. 

```
select query, datediff(seconds, starttime, endtime),
trim(querytxt) as sqlquery
from stl_query
where starttime >= '2013-02-15 00:00' and endtime < '2013-02-16 00:00'
order by date_diff desc;

 query | date_diff |  sqlquery
-------+-----------+-------------------------------------------
 55    |       119 | padb_fetch_sample: select count(*) from category
121    |         9 | select * from svl_query_summary;
181    |         6 | select * from svl_query_summary where query in(179,178);
172    |         5 | select * from svl_query_summary where query=148;
...
(189 rows)
```

La requête suivante montre le temps d’attente et le temps d’exécution des requêtes. Les requêtes avec `concurrency_scaling_status = 1` ont été exécutées sur un cluster de mise à l’échelle de simultanéité. Toutes les autres requêtes ont été exécutées sur le cluster principal.

```
SELECT w.service_class AS queue
     , q.concurrency_scaling_status
     , COUNT( * ) AS queries
     , SUM( q.aborted )  AS aborted
     , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2 ) ) AS queue_secs
     , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2 ) )  AS exec_secs
FROM stl_query q
     JOIN stl_wlm_query w
          USING (userid,query)
WHERE q.userid > 1
  AND service_class > 5
  AND q.starttime > '2019-03-01 16:38:00'
  AND q.endtime   < '2019-03-01 17:40:00'
GROUP BY 1,2
ORDER BY 1,2;
```