SYS_QUERY_DETAIL - Amazon Redshift

SYS_QUERY_DETAIL

Utilice SYS_QUERY_DETAIL para visualizar los detalles de las consultas en el nivel de paso. Cada una de las filas representa un paso de una determinada consulta de WLM con sus correspondientes detalles. 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.

Columnas de la tabla

Nombre de la columna Tipo de datos Descripción
user_id integer El identificador del usuario que envió la consulta.
query_id bigint Identificador de la consulta.
child_query_sequence integer La secuencia de la consulta reescrita del usuario, a partir de 1.
stream_id integer El identificador del flujo de la secuencia de la consulta.
segment_id integer El identificador del segmento de ejecución de la consulta.
step_id integer El identificador del paso en un segmento.
step_name texto 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 integer 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.
end_time Marca de tiempo La hora en que se completó el paso de la consulta.
duration bigint La cantidad de tiempo (microsegundos) empleado en el paso.
alerta texto 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 bloque que ha leído el paso.
blocks_write bigint El número de bloque 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.
source texto 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 integer 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 integer 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.

Consultas de ejemplo

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