Vistas Máximas Ineficientes – Cap.1

Vamos analizar el motivo de porque la respuesta de una vista máxima para un día tarda 8' en dar una respuesta cuando debería ser inmediata.

Lo primero que vamos a hacer es generar el tkprof para un día. En el tkprof vamos a ver la carga de cada paso del row source “Row Source Generator” y vamos a poder determinar qué está sucediendo internamente en el tiempo de ejecución de este select.

Analizando la consulta, vemos que tarda en dar respuesta 8,6 segundos

Analizando en detalle el tkproff vemos la siguiente operación del row source que llama la atención:

Esta operación del row source es la que realmente más consume, con más de 300.000 bloques leídos en memoria. Otro punto más que nos llama la atención de este cruce es el tiempo.

Si miramos el árbol de ejecución, vemos que ese salto tanto en bloques leídos como en tiempo de ejecución se produce en la cláusula exists

¡Modificamos la clausula y la consulta vuela!

Corrigiendo ese acceso se ha bajado de 8'' a una respuesta inmediata.