Revisión de alertas de consultas
Para utilizar la tabla de sistema STL_ALERT_EVENT_LOG a fin de identificar y corregir posibles problemas de rendimiento con su consulta, siga los pasos a continuación:
-
Ejecute la siguiente función para determinar el ID de su consulta:
select query, elapsed, substring from svl_qlog order by query desc limit 5;
Examine el texto truncado de la consulta en el campo
substring
para determinar qué valor dequery
seleccionar. Si ejecutó la consulta más de una vez, utilice el valorquery
de la fila con el valor deelapsed
más bajo. Esa es la fila de la versión compilada. Si ha ejecutado distintas consultas, puede aumentar el valor que utilizó la cláusula LIMIT para asegurarse de que su consulta esté incluida. -
Seleccione las filas de STL_ALERT_EVENT_LOG para su consulta:
Select * from stl_alert_event_log where query = MyQueryID;
-
Evalúe los resultados de su consulta. Utilice la siguiente tabla para identificar posibles soluciones para cualquiera de los problemas que haya identificado.
nota
No todas las consultas tienen filas en STL_ALERT_EVENT_LOG, solo en las que se hayan identificado problemas.
Problema Valor del evento Valor de la solución Solución recomendada Faltan estadísticas sobre las tablas de la consulta o están desactualizadas. Faltan estadísticas para el planificador de consultas. Ejecute el comando ANALYZE. Consulte Faltan estadísticas de tablas o están desactualizadas. Hay una combinación de bucle anidado (la combinación menos óptima) en el plan de consulta. Hay una combinación de bucle anidado en el plan de consulta. Revise los predicados de la combinación para evitar productos cartesianos. Consulte Bucle anidado. El 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. Se examinó una gran cantidad de filas eliminadas. Ejecute el comando VACUUM para reclamar espacio eliminado. Consulte Filas fantasma o filas sin confirmar. Más de 1 000 000 filas fueron redistribuidas para una combinación hash o una agregación. Se distribuyó una gran cantidad de filas en toda la red: las filas RowCount se distribuyeron para poder procesar la agregación. Revise la elección de la clave de distribución para colocar la combinación o la agregación. Consulte Distribución de datos poco óptima. Más de 1 000 000 filas fueron difundidas para una combinación hash. Se difundió una gran cantidad de filas en toda la red. Revise la elección de la clave de distribución para colocar la combinación y considere la opción de usar tablas distribuidas. Consulte Distribución de datos poco óptima. 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. Hay una vista DS_DIST_ALL_INNER para la combinación hash en el plan de consulta. Revise la elección de la estrategia de distribución para distribuir la tabla interna, en lugar de la externa. Consulte Distribución de datos poco óptima.