Flujo de trabajo de análisis de consultas
Si una consulta está tardando más de lo previsto, utilice los siguientes pasos para identificar y corregir los problemas que podrían estar afectando negativamente el rendimiento de la consulta. Si no está seguro de qué consultas de su sistema podrían beneficiarse al ajustar su rendimiento, comience por ejecutar una consulta de diagnóstico en Identificación de consultas que deben ajustarse con prioridad.
-
Asegúrese de que sus tablas estén diseñadas conforme a las prácticas recomendadas. Para obtener más información, consulte Prácticas recomendadas de Amazon Redshift para el diseño de tablas.
-
Considere eliminar o archivar cualquier dato innecesario que haya en sus tablas. Por ejemplo, suponga que sus consultas siempre incluyen los datos de los últimos 6 meses, pero tiene los datos de los últimos 18 meses en sus tablas. En este caso, puede eliminar o archivar los datos más antiguos para reducir la cantidad de registros que se deben examinar y distribuir.
-
Ejecute el comando VACUUM en las tablas de la consulta para recuperar espacio y reordene las filas. Ejecutar el comando VACUUM es útil si la región desordenada es grande y si la consulta usa la clave de ordenación en una combinación o en el predicado.
-
Ejecute el comando ANALYZE en las tablas de la consulta para asegurarse de que las estadísticas están actualizadas. Ejecutar el comando ANALYZE es útil si alguna de las tablas de la consulta cambió considerablemente su tamaño en el último tiempo. Si la ejecución de un comando ANALYZE completo tardada mucho tiempo, ejecútelo en una única columna para reducir el tiempo de procesamiento. Este método sigue actualizando las estadísticas de tamaño de la tabla, que es un factor importante en la planificación de consultas.
-
Asegúrese de haber ejecutado su consulta una vez por cada tipo de cliente (en función del tipo de protocolo de conexión que utiliza el cliente) para que la consulta se compile y almacene en caché. Este enfoque acelera las ejecuciones posteriores de la consulta. Para obtener más información, consulte Factores que afectan al rendimiento de las consultas.
-
Revise la tabla STL_ALERT_EVENT_LOG para identificar y corregir posibles problemas con su consulta. Para obtener más información, consulte Revisión de alertas de consultas.
-
Ejecute el comando EXPLAIN para obtener el plan de consulta y utilícelo para optimizar la consulta. Para obtener más información, consulte Análisis del plan de consulta.
-
Utilice las vistas SVL_QUERY_SUMMARY y SVL_QUERY_REPORT para obtener información resumida y utilícela para optimizar la consulta. Para obtener más información, consulte Análisis del resumen de consultas.
A veces, una consulta que se debe ejecutar rápidamente se ve obligada a esperar a que termine otra consulta que demanda mayor tiempo de ejecución. En ese caso, quizás no hay nada de la propia consulta que pueda mejorar, pero sí puede mejorar el rendimiento general del sistema al crear y utilizar colas de consultas para diferentes tipos de consultas. Para que se haga una idea de los tiempos de espera de las consultas, consulte Revisión de los tiempos de espera de las colas de consultas. Para obtener más información acerca de la configuración de colas de consultas, consulte Administración de la carga de trabajo.