SYS_QUERY_DETAIL - 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.

SYS_QUERY_DETAIL

Utilisez SYS _ QUERY _ DETAIL pour afficher les détails des requêtes au niveau d'une étape. Chaque ligne représente une étape d'une WLM requête spécifique avec des détails. Cette vue contient de nombreux types de requêtesDDL, telles queDML, et des commandes utilitaires (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.

Colonnes de la table

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 aggregatebroadcast,delete,distribute,hash,hashjoin,insert,limit,merge,nestloop,parse,return,save,scan,sort,sortlimit,unique, etwindow.
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é.
end_time timestamp Heure à laquelle l’étape de requête s’est terminée.
duration bigint Temps (microsecondes) passé sur l’étape.
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 Nombre de blocs lus par l’étape.
blocks_write bigint 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.

Exemples de requêtes

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. Remplacez sample_data_dev avec 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 | +---------------------------------+-------+