STL_ALERT_EVENT_LOG - Amazon Redshift

STL_ALERT_EVENT_LOG

Registra una alerta cuando el optimizador de consultas identifica condiciones que podrían indicar problemas de rendimiento. Utilice la vista STL_ALERT_EVENT_LOG para identificar oportunidades de mejora del rendimiento de las consultas.

Una consulta consta de distintos segmentos y cada segmento consta de uno o más pasos. Para obtener más información, consulte Procesamiento de consultas.

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

nota

STL_ALERT_EVENT_LOG solo contiene consultas que se ejecutan en los clústeres principales. No contiene consultas que se ejecuten en clústeres que se escalen de forma simultánea. Para acceder a las consultas que se ejecutan en los clústeres de escalado principal y simultáneo, le recomendamos que utilice 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.

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. La columna de consulta puede usarse para combinar otras vistas y tablas del sistema.
slice integer Es el número que identifica el sector donde se estaba ejecutando la consulta.
segment integer Número que identifica el segmento de la consulta.
paso integer Paso de la consulta que se ejecutó.
pid integer ID de proceso asociado a la instrucción y al sector. La misma consulta podría tener varios PID si se ejecutara en varios sectores.
xid bigint ID de la transacción asociado a la instrucción.
evento character(1024) Descripción del evento de alerta.
solution character(1024) Solución recomendada.
event_time Marca de tiempo Hora en UTC en que comenzó la consulta. El tiempo total incluye colas y ejecución. Con 6 dígitos de precisión para fracciones de segundo. Por ejemplo: 2009-06-12 11:29:19.131358.

Notas de uso

Puede utilizar STL_ALERT_EVENT_LOG para identificar posibles problemas en sus consultas; luego, siga las prácticas descritas en ‎‎‎‎Ajuste del rendimiento de las consul‎tas‎ para optimizar el diseño de su base de datos y vuelva a escribir sus consultas. STL_ALERT_EVENT_LOG registra las siguientes alertas:

  • Faltan estadísticas

    Faltan estadísticas. Ejecute la función ANALYZE después de la carga de datos o de actualizaciones importantes y utilice la función STATUPDATE con las operaciones COPY. Para obtener más información, consulte Prácticas recomendadas de Amazon Redshift para el diseño de consultas.

  • Bucle anidado

    Un bucle anidado es, por lo general, un producto cartesiano. Evalúe su consulta para asegurarse de que todas las tablas que emplee estén combinadas de forma eficaz.

  • Filtro muy selectivo

    La relación de filas devueltas respecto a las filas examinadas es inferior al 0,05. Las filas examinadas es el valor de rows_pre_user_filter y las filas devueltas es el valor de las filas de la vista de sistema STL_SCAN. Indica que la consulta está examinando una cantidad excepcionalmente grande de filas para determinar el conjunto de resultados. Esto puede deberse a que faltan claves de ordenación, o que estas son incorrectas. Para obtener más información, consulte Uso de claves de ordenación.

  • Filas fantasma excesivas

    Un examen omitió una cantidad considerablemente grande de filas que están marcadas como eliminadas pero no limpiadas o filas que fueron insertadas pero no confirmadas. Para obtener más información, consulte Limpieza de tablas.

  • Distribución grande

    Más de 1 000 000 filas fueron redistribuidas para una combinación hash o una agregación. Para obtener más información, consulte Uso de estilos de distribución de datos.

  • Difusión grande

    Más de 1 000 000 filas fueron difundidas para una combinación hash. Para obtener más información, consulte Uso de estilos de distribución de datos.

  • Ejecución en serie

    En el plan de consulta se indicó un estilo de redistribución DS_DIST_ALL_INNER, lo que exige una ejecución en serie porque toda la tabla interna fue redistribuida a un nodo único. Para obtener más información, consulte Uso de estilos de distribución de datos.

Consultas de ejemplo

La siguiente consulta muestra eventos de alerta para cuatro consultas.

SELECT query, substring(event,0,25) as event, substring(solution,0,25) as solution, trim(event_time) as event_time from stl_alert_event_log order by query; query | event | solution | event_time -------+-------------------------------+------------------------------+--------------------- 6567 | Missing query planner statist | Run the ANALYZE command | 2014-01-03 18:20:58 7450 | Scanned a large number of del | Run the VACUUM command to rec| 2014-01-03 21:19:31 8406 | Nested Loop Join in the query | Review the join predicates to| 2014-01-04 00:34:22 29512 | Very selective query filter:r | Review the choice of sort key| 2014-01-06 22:00:00 (4 rows)