

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

Utilice SYS\_QUERY\_DETAIL para visualizar los detalles de las consultas en los distintos niveles de las métricas, donde cada fila representa los detalles de una consulta de WLM en un nivel de la métrica determinado. Esta vista contiene muchos tipos de consultas como DDL, DML y comandos de utilidad (por ejemplo, copiar y descargar). Según el tipo de consulta, algunas columnas pueden resultar irrelevantes. Por ejemplo, external\_scanned\_bytes no es relevante para las tablas internas.

SYS\_QUERY\_DETAIL es visible para todos los usuarios. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte [Visibilidad de datos en las tablas y vistas de sistema](cm_chap_system-tables.md#c_visibility-of-data).

**nota**  
Para verificar si una transacción que contiene la consulta ejecutada se ha confirmado correctamente, debe realizar una operación de unión entre las tablas del sistema y la tabla `sys_transaction_history`. Por ejemplo:  

```
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;
```

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


| Nombre de la columna  | Tipo de datos:  | Descripción  | 
| --- | --- | --- | 
| user\_id | entero | El identificador del usuario que envió la consulta. | 
| query\_id | bigint | Identificador de la consulta. | 
| child\_query\_sequence | entero | La secuencia de la consulta reescrita del usuario, a partir de 1. | 
| stream\_id | entero | El identificador del flujo de la secuencia de la consulta. | 
| segment\_id | entero | El identificador del segmento de ejecución de la consulta. | 
| step\_id | entero | El identificador del paso en un segmento. | 
| step\_name | text | El nombre del paso en un segmento. Los posibles valores son aggregate, broadcast, delete, distribute, hash, hashjoin, insert, limit, merge, nestloop, parse, return, save, scan, sort, sortlimit, unique y window. | 
| table\_id | entero | El identificador de la tabla para realizar análisis permanentes de la tabla. | 
| table\_name | character (136) | Nombre de la tabla del paso que está en curso. | 
| is\_rrscan | character | El valor que indica si un paso es un paso de análisis. El valor true (t) (verdadero) indica que se ha empleado un análisis de rango restringido. | 
| start\_time | marca de tiempo | La hora de inicio del paso de la consulta. Este campo se registra en el segmento, independientemente del valor de la columna metrics\_level. | 
| end\_time | marca de tiempo | La hora en que se completó el paso de la consulta. Este campo se registra en el segmento, independientemente del valor de la columna metrics\_level. | 
| duración | bigint | La cantidad de tiempo (microsegundos) empleado en el paso. Este campo se registra en el segmento, independientemente del valor de la columna metrics\_level. | 
| alerta | text | La descripción del evento de alerta. | 
| input\_bytes | bigint | Los bytes de entrada del paso actual. | 
| input\_rows | bigint | Las filas de entrada del paso actual. | 
| output\_bytes | bigint | Los bytes de salida del paso actual. | 
| output\_rows | bigint | Las filas de salida del paso actual. | 
| blocks\_read | bigint | El número de bloques que ha leído el paso. | 
| blocks\_write | bigint | El número de bloques que ha escrito el paso. | 
| local\_read\_IO | bigint | El número de bloques leídos de la memoria caché del disco local. | 
| remote\_read\_IO | bigint | El número de bloques leídos de forma remota. | 
| origen | text | El tipo de objeto de base de datos que se escaneó. Esta columna solo tiene un valor cuando el valor step\_name de la fila es scan. | 
| data\_skewness | entero | La asimetría de la distribución de las filas de salida entre todos los pasos. Es un número comprendido entre el 0 % y el 100 %. Cuanto mayor sea el número, más desequilibrada está la distribución. | 
| time\_skewness | entero | La asimetría de la distribución del tiempo de ejecución entre todos los pasos. Es un número comprendido entre el 0 % y el 100 %. Cuanto mayor sea el número, más desequilibrada está la distribución. | 
| is\_active | character | Se trata del estado de la consulta en el nivel de paso. Los valores posibles son “t”, que indica que el paso se está ejecutando activamente, o “f”, que indica que el paso ha terminado de ejecutarse. | 
| spilled\_block\_local\_disk | bigint | La cantidad de bloques vertidos en el disco local. | 
| spilled\_block\_remote\_disk | bigint | La cantidad de bloques vertidos en Amazon Simple Storage Service. | 
| step\_attribute | character(64) | Contiene información sobre el paso asociado. Valores posibles para los pasos de escaneo: multi-dimensional. | 
| metrics\_level | character(64) | Nivel de la métrica de la consulta. Los valores posibles son los siguientes:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/redshift/latest/dg/SYS_QUERY_DETAIL.html) | 
| plan\_parent\_id | entero | Identificador del nodo principal del nodo del plan. Un nodo principal puede tener varios nodos secundarios. Por ejemplo, una unión de combinación es el nodo principal de los análisis de las tablas unidas.  | 
| plan\_node\_id | entero | Identificador de un nodo del plan que se asigna a uno o más pasos de la consulta. | 

## Notas de uso
<a name="SYS_QUERY_DETAIL-usage-notes"></a>

SYS\_QUERY\_DETAIL puede contener métricas en el paso, la secuencia, el segmento y la consulta secundaria. Además de hacer referencia a la columna metrics\_level, puede ver qué nivel de métrica muestra una fila determinada haciendo referencia a los campos step\_id, segment\_id y stream\_id según la siguiente tabla.


| Nivel de métricas | stream\_id value | segment\_id value | step\_id value | 
| --- | --- | --- | --- | 
| child query | -1 | -1 | -1 | 
| secuencia | Valor de paso válido | -1 | -1 | 
| segment | Valor de paso válido | Valor de paso válido | -1 | 
| paso | Valor de paso válido | Valor de paso válido | Valor de paso válido | 

## Consultas de ejemplo
<a name="SYS_QUERY_DETAIL-sample-queries"></a>

En el siguiente ejemplo, se devuelve el resultado de SYS\_QUERY\_DETAIL.

La siguiente consulta muestra los detalles de metadatos de la consulta con respecto al paso, incluidos el nombre del paso, input\_bytes, output\_bytes, input\_rows y 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;
```

Resultados de ejemplo.

```
 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
```

Para ver las tablas de la base de datos ordenadas de las más utilizadas a las menos utilizadas, utilice el siguiente ejemplo. Reemplace {{sample\_data\_dev}} con su propia base de datos. Tenga en cuenta que esta consulta contará las consultas a partir del momento en que se cree el clúster, pero los datos de visualización del sistema no se guardarán cuando no haya espacio en el almacenamiento de datos.

```
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 |
+---------------------------------+-------+
```

 En el siguiente ejemplo, se muestran los distintos niveles de métricas de una única consulta de 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)
```