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