SVL_QUERY_SUMMARY - Amazon Redshift

SVL_QUERY_SUMMARY

Utilice la vista SVL_QUERY_SUMMARY para encontrar información general acerca de la ejecución de una consulta.

La vista SVL_QUERY_SUMMARY tiene un subconjunto de datos de la vista SVL_QUERY_REPORT. Tenga en cuenta que la información en SVL_QUERY_SUMMARY proviene de todos los nodos.

nota

La vista SVL_QUERY_SUMMARY solo contiene información relacionada con las consultas realizadas por Amazon Redshift, no otros comandos de utilidades ni de DDL. Para obtener una lista completa e información acerca de todas las instrucciones realizadas por Amazon Redshift, incluidos los comandos de DDL y de utilidades, puede consultar la vista SVL_STATEMENTTEXT.

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

Algunos o todos los datos de esta tabla también están en la vista de monitoreo SYS SYS_QUERY_DETAIL. Los datos de la vista de monitoreo SYS están formateados para que sean más fáciles de usar y entender. Se recomienda utilizar la vista de monitoreo SYS para las consultas.

Para obtener más información sobre SVCS_QUERY_SUMMARY, consulte SVCS_QUERY_SUMMARY.

Columnas de la tabla

Nombre de la columna Tipo de datos Descripción
userid integer ID del usuario que generó la entrada.
consulta integer ID de la consulta. Se puede usar para combinar distintas vistas y tablas del sistema.
stm integer Secuencia: un conjunto de segmentos simultáneos en una consulta. Una consulta tiene una o más secuencias.
seg integer Número del segmento. Una consulta consta de distintos segmentos y cada segmento consta de uno o más pasos. Los segmentos de una consulta se ejecutan en paralelo. Cada segmento se ejecuta en un solo proceso.
paso integer Paso de la consulta que se ejecutó.
maxtime bigint Cantidad máxima de tiempo en que se ejecuta el paso (en microsegundos).
avgtime bigint Tiempo promedio en que se ejecuta el paso (en microsegundos).
rows bigint Cantidad de datos involucrados en el paso de la consulta.
bytes bigint Cantidad de bytes de datos involucrados en el paso de la consulta.
rate_row double precision Proporción de ejecución de la consulta por fila.
rate_byte double precision Proporción de ejecución de la consulta por byte.
etiqueta texto Etiqueta del paso, que se compone del nombre de un paso de la consulta y, si corresponde, el ID y el nombre de la tabla (por ejemplo, scan tbl=100448 name =user). Los ID de tabla de tres dígitos suelen referirse a exámenes de tablas transitorias. Cuando vea tbl=0, por lo general se refiere a un examen de un valor constante.
is_diskbased character (1) Indica si este paso de la consulta se realizó como una operación basada en el disco en algún nodo del clúster: true (t) (verdadero) o false (f) (falso). Solo determinados pasos, como hash, ordenar y agregar pasos, pueden ir al disco. Muchos tipos de pasos se realizan siempre en la memoria.
workmem bigint Cantidad de memoria funcional (en bytes) asignada a este paso de la consulta.
is_rrscan character (1) Si es true (t), indica que se utilizó un examen de rango restringido en el paso. El valor predeterminado es false (f).
is_delayed_scan character (1) Si es true (t), indica que en el paso se utilizó un examen diferido. El valor predeterminado es false (f).
rows_pre_filter bigint Para exámenes de tablas permanentes, la cantidad total de filas emitidas antes de filtrar las filas marcadas para eliminación (filas fantasma).

Consultas de ejemplo

Vista de la información de procesamiento del paso de una consulta

En la siguiente consulta, se muestra la información básica de procesamiento para cada paso de la consulta 87:

select query, stm, seg, step, rows, bytes from svl_query_summary where query = 87 order by query, seg, step;

Esta consulta recupera la información de procesamiento acerca de la consulta 87, tal como se muestra en el siguiente ejemplo de salida:

query | stm | seg | step | rows | bytes -------+-----+-----+------+--------+--------- 87 | 0 | 0 | 0 | 90 | 1890 87 | 0 | 0 | 2 | 90 | 360 87 | 0 | 1 | 0 | 90 | 360 87 | 0 | 1 | 2 | 90 | 1440 87 | 1 | 2 | 0 | 210494 | 4209880 87 | 1 | 2 | 3 | 89500 | 0 87 | 1 | 2 | 6 | 4 | 96 87 | 2 | 3 | 0 | 4 | 96 87 | 2 | 3 | 1 | 4 | 96 87 | 2 | 4 | 0 | 4 | 96 87 | 2 | 4 | 1 | 1 | 24 87 | 3 | 5 | 0 | 1 | 24 87 | 3 | 5 | 4 | 0 | 0 (13 rows)

Determinar qué pasos de la consulta se vertieron en el disco

En la siguiente consulta, se muestra si alguno de los pasos de la consulta con el ID de consulta 1025 (ver la vista SVL_QLOG para saber cómo obtener el ID de una consulta) se vertieron al disco o si la consulta se ejecutó en su totalidad en la memoria:

select query, step, rows, workmem, label, is_diskbased from svl_query_summary where query = 1025 order by workmem desc;

Esta consulta devuelve el siguiente ejemplo de salida:

query| step| rows | workmem | label | is_diskbased -----+-----+--------+-----------+---------------+-------------- 1025 | 0 |16000000| 141557760 |scan tbl=9 | f 1025 | 2 |16000000| 135266304 |hash tbl=142 | t 1025 | 0 |16000000| 128974848 |scan tbl=116536| f 1025 | 2 |16000000| 122683392 |dist | f (4 rows)

Al examinar los valores para IS_DISKBASED, puede ver qué pasos de la consulta pasaron al disco. Para la consulta 1025, el paso hash se ejecutó en el disco. Los pasos que se pueden ejecutar en el disco incluyen los pasos hash, aggr y sort. Para ver únicamente los pasos de la consulta basados en el disco, agregue la cláusula and is_diskbased = 't' a la instrucción SQL del ejemplo anterior.